首页 > 其他 > 详细

实验四实验报告

时间:2019-04-25 22:08:09      阅读:135      评论:0      收藏:0      [点我收藏+]

实验结论

Part 1

数组将类型相同的一组数据在内存中连续存放,由实验可看出数组中元素的内存地址是连续的,不同类型数据计算机为其分配的内存空间是不同的。

Part 2

定义一维数组a,须指明它包含的元素个数和元素类型,通过数组名和下标的形式引入数组元素,数组下标从0开始,当对所有元素进行初始化时可以省略数组大小,当只初始化一部分元素时剩余没有被初始化的元素值,系统自动设为0。

Part 3

函数名作为参数时,实参和形参的书写形式
函数声明和函数定义中,函数名init后面括号里出现的是形式参数,数组名后面要加[ ]。即:void init(int a[], int n, int value);
函数调用中,函数名init后面括号里出现的是实际参数,直接写数组名。即:init(b, N, -1);

Part 4

冒泡法对一组数据由小到大排序:把一组数据中相邻的两个数进行比较,较大的数放到后面。这样,经过一轮以后,最大的数就放到了最后。把剩余的数,再进行两两比较,经过第2轮后,第2大的数就放到了倒数第二的位置。接下来,做类似操作。若是由大到小排序类似,反过来就可以了。

用冒泡法对n个数小→大排序,
共需扫描(n-1)遍,第i遍扫描时需要比较(n-i)次

但在程序中略有不同:for(j=0; j<n-1-i; j++)  这是由于数组下标从0开始造成的

Part 5

练习1:补全程序,查找一组整型数据的最大值。

#include <stdio.h>
int findMax(int a[], int n); 
const int N=5;
int main() {
    int a[N];
    int max, i;
    printf("输入%d个整数: \n", N);
    for(i=0;i<N;i++)
       scanf("%d",&a[i]);

    max=findMax(a,N);
  


printf("数组a中最大元素值为: %d\n\n", max);
return 0;
}
int findMax(int a[],int n){
    int i,j,t,max;
    for(i=0;i<n-1;i++){
        if(a[i]>a[i+1]){
            t=a[i+1];
            a[i+1]=a[i];
            max=a[i+1];
        }
    }
    return max;
}

技术分享图片

第一次写的时候子函数没有写返回,输出是0,后来对比发现错误

练习2:补全程序,使用冒泡法对字符数组由大到小排序。

#include <stdio.h>
const int N=4;
void output(char x[], int n); 
void sort(char x[], int n);
int main() {
char string[N] = {2,0,1,9};
int i;
printf("排序前: \n");
output(string, N);
sort(string,N);
printf("\n排序后: \n");
output(string, N);
printf("\n");
return 0;
}

void output(char x[], int n) {
int i;
for(i=0; i<N; i++)
printf("%c", x[i]);
}

void sort(char x[],int n){
    char i,j,t;
    for(i=0;i<n-1;i++){
        for(j=0;j<n-1-i;j++){
            if(x[j]<x[j+1]){
                t=x[j];
                x[j]=x[j+1];
                x[j+1]=t;
            }
        }
    }
    
}

技术分享图片

由大到小排序只需将Part4的程序稍作改进即可,没有遇到什么问题

实验总结与体会

对函数定义调用有了一定的理解,稍有掌握,但综合应用欠缺,具体编程问题很多,要勤加联系一一克服。

 

实验四实验报告

原文:https://www.cnblogs.com/angel-x/p/10770343.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!