标签:练习 大小 整型 .com 表达 bsp 总结 相同 jpg
Part1: 数组数据结构
数组数据结构的特点:
1. 类型相同的一组数据构成的集合
2. 这一组数据在内存中连续存放
3. int型数据占4个字节的内存空间,float型数据占4个字节的内存空间,double型数据占8个字节的内存空间,char型数据占1个字节的内存空间。
Part2: 一维数组的定义、初始化以及数组元素的引用方法
1. 可用 int a[5] = {1, 9, 8, 6, 0}; 形式定义数组并对对每个元素进行初始化。
2. 当对所有数组元素初始化时,可以省略数组大小。
3. sizeof用于计算数据占用的字节数。表达式sizeof(a) / sizeof(a[0])用于计算数组元素的个数。
4. 数组的下标从0开始。
5. 没有被初始化的元素值,系统自动设为0。
Part3: 数组作为函数参数
1. 函数名作为参数时:
函数声明和函数定义中,函数名init后面括号里出现的是形式参数,数组名后面要加[ ]。如:void init(int a[], int n, int value);
函数调用中,函数名init后面括号里出现的是实际参数,直接写数组名。如:init(b, N, -1);
2. 在函数中,改变形参数组a,实参数组b也跟着改变。实参数组b和形参数组a 对应的是同一组内存空间。
Part4: 用冒泡法对一组数据由小到大排序
1. 用冒泡法对n个数小→大排序,共需扫描(n-1)遍,第i遍扫描时需要比较(n-i)次。
2. 注意边界条件,i,j的值都是从0开始,可推知边界条件分别是 i<n-1, j<n-1-i。
Part5: 编程练习
练习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]); findMax(a,N); max=a[N]; printf("数组a中最大元素值为:%d\n\n",max); return 0; } int findMax(int a[],int n){ int i,t; for(i=0;i<n;i++){ if(a[i]>a[i+1]){ t=a[i]; a[i]=a[i+1]; a[i+1]=t; } } }
运行结果:
练习2:补全程序,使用冒泡法对字符数组由大到小排序
#include<stdio.h> const int N=4; void output(char x[],int n); void bubblesort(char a[],int n); int main(){ char string[N]={‘2‘,‘0‘,‘1‘,‘9‘}; int i; printf("排序前:\n"); output(string,N); bubblesort(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 bubblesort(char a[],int n){ int i,j; char t; for(i=0;i<n-1;i++){ for(j=0;j<n-1-i;j++){ if(a[j]<a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } } }
运行结果:
实验总结与体会:
1. 学习了数组和冒泡算法的简单应用,都是很重要的内容,需要好好的练习与理解。
2. 虽然感觉没上次难,但补程序的时候还是一直在参考Part 4,可以说对数组的掌握还不够熟练。
3. 多尝试很重要,每次按照自己的想法写完调试的时候都会有各种各样的错误,按照提示一条条的改,还是有不少收获的。
标签:练习 大小 整型 .com 表达 bsp 总结 相同 jpg
原文地址:https://www.cnblogs.com/celan/p/10771812.html