标签:类型 长度 pre 平均数 数组 改变大小 正整数 位置 core
1.输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
#include<stdio.h> #define N 100 int main() { int score[N],i,n,grade,m=0; double ave,max,min,sum; for(i=0;i<N;i++) { printf("请输入学生的成绩"); scanf("%d",&score[i]); if(score[i]==-1) { break; } m++; } sum=0; for(i=0;i<m;i++) { sum+=score[i]; ave=sum/(double)m; } printf("平均数为%.2lf",ave); //最大最小值 max=score[0]; for(i=0;i<=m;i++) { if(score[i]>max) { max=score[i]; } } printf("最大值为%.2lf",max); min=score[0]; for(i=0;i<m;i++) { if(score[i]<min) { min=score[i]; } } printf("最小值为%.2lf\n",min); //查找 printf("请输入你想找的分数"); scanf("%d",&grade); for(i=0;i<m;i++) { if(grade==score[i]) { printf("你想找的分数在%d位\n",i+1); } } return 0; }
2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
#include<stdio.h> int main() { int i,n,m; int a[10]={1,3,5,7,9,11,13,15,17}; for(i=0;i<9;i++) { printf("%d ",a[i]); } printf("请输入一个正整数"); scanf("%d",&n); for(i=0;i<10;i++) { if(n>a[i]&&n<a[i+1]) { for(m=9;m>i+1;m--) { a[m]=a[m-1]; a[m-1]=n; } } else if(n>a[8]) { a[9]=n; } else if(n<a[0]) { for(m=9;m>=0;m--) { a[m]=a[m-1]; } a[0]=n; } printf("%d ",a[i]); } return 0; }
3.用数组实现火柴棍等式
#include<stdio.h> int main() { int x,y,sum; int match[10]={6,2,5,5,4,5,6,3,7,6}; for(x=0;x<=9;x++) { for(y=0;y<=9;y++) { sum=x+y; if(sum>9) { break; } if(match[x]+match[y]+match[sum]==12) { printf("%d+%d=%d\n",x,y,sum); } } } return 0; }
二、知识点总结
(1)数组的定义:定义方式:数据类型 数据名【数据长度】
(2)数组必须先定义,后使用
(3)C语言不会对数组下标做越界检查
(4)数组名不能被赋值
三、实验总结
(1) 数组名【下标】 下标从0开始
(2) 数组一旦创建,不能改变大小
(3) 数组中的元素在内存中是连续一次排列的
标签:类型 长度 pre 平均数 数组 改变大小 正整数 位置 core
原文地址:http://www.cnblogs.com/faner10110/p/6091409.html