一:实验内容
1.输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
#include#define N 60int main(){ int score[N],i,n,sum,max,min,index1,index2,index3,grade; double average; //输入 printf("输入学生人数\n"); scanf("%d",&n); for(i=0;i max) { max=score[i]; index1=i; } } printf("max=%d,index1=%d",max,index1); //求最低分及下标 min=score[0]; index2=0; for(i=0;i
2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
#include#define N 11int main(){ int a,b,i1,i2,i; int number[11]={ 1,3,5,7,9,11,14,15,17,19}; printf("输入一个数:\n"); scanf("%d",&a); if(a =0;i1--,i2--) { number[i1]=number[i2]; } number[0]=a; } else if(a>number[9]) { number[10]=a; } else { for(i=0;i<=10;i++) { if(a =b;i1--,i2--) { number[i1]=number[i2]; } number[b]=a; } for(i=0;i<11;i++) { printf(" %d",number[i]); } return 0;}
3.用数组实现火柴棍等式
#includeint main(){ int a,b,sum=0; int match[10]={ 6,2,5,5,4,5,6,3,7,9}; for(a=0;a<=9;a++) for(b=0;b<=9;b++) { sum=a+b; if(sum>9) { break; } if(match[a]+match[b]+match[sum]==12) { printf("%d+%d+%d\n",a,b,sum); } } return 0;}
二:知识点总结
1:数据类型 数组名【数组长度】;要先定义后使用
2:只能逐个引用数组元素,不能一次引用整个数组
3:数组不初始化,其元素值为初始数
4:只给部分数组元素赋初值时,其后元素初始化为0
5:当全部数组元素赋初值时,可 不指定数组长度
6:数组变量本身不能被赋初值
三:实验总结
1:在数组名数组长度后面忘记加分号
2:最大值最小值开头变量定义错误
3:求最小值时忘记输出