首页 > 代码库 > 第八次作业
第八次作业
1.输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
# include <stdio.h> # define N 100 int main() { int score[N],max,max1,min,min1,i,n,sum,search; float average; n=0; max1=1; min1=1; sum=0; printf("请输入成绩(输入数据小于0时将结束输入):\n"); scanf("%d",&score[n]); do { sum=sum+score[n]; if(n==0) { min=score[n]; max=score[n]; } else { if(max<score[n]) { max=score[n]; max1=n+1; } if(min>score[n]) { min=score[n]; min1=n+1; } } n++; printf("请输入成绩(输入数据小于0时将结束输入):\n"); scanf(" %d",&score[n]); }while(score[n]>=0); average=(float)sum/n; printf("平均分是%.2f,最高分是%d,该同学是%d号,最低分是%d,该同学是%d号。\n",average,max,max1,min,min1); printf("请输入你想查询的成绩(数据为整数):\n"); scanf("%d",&search); for(i=0;i<n;i++) { if(search==score[i]) { printf("%d号 ",i+1); } } return 0; }
2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
# include <stdio.h> int main() { int i,j,x,a,b[10]={2,5,7,9,12,16,19,21,26,29}; printf("请输入一个数字:\n"); scanf("%d",&a); for(i=10;i>=0;i--) { if(a>=b[i-1]) { for(j=10;j>i;j--) { b[j]=b[j-1]; } b[i]=a; break; } if(i==0) { for(j=10;j>i;j++) { b[j]=b[i]; } b[0]=a; break; } } for(x=0;x<=10;x++) { printf("%d ",b[x]); } return 0; }
3.用数组实现火柴棍等式
# include <stdio.h> int main() { int x,y,z,n,a[9]={6,2,5,5,4,5,6,3,7,6}; for(x=0;x<=9;x++) { for(y=0;y<=9;y++) { for(z=0;z<=9;z++) { if(a[x]+a[y]+a[z]==12&&x+y==z) { printf("%d+%d=%d\n",x,y,z); } } } } return 0; }
附加题: 输入一行任意长的数字,用数组元素作为计数器统计每个数字出现的次数。用下标为0的元素统计0出现的次数,用下标为1的元素统计1出现的次数…
# include <stdio.h> int main() { int i,b[9]={0,0,0,0,0,0,0,0,0,0}; char a; printf("请输入一串数字:\n"); do { scanf("%c",&a); switch(a) { case ‘0‘:b[0]++;break; case ‘1‘:b[1]++;break; case ‘2‘:b[2]++;break; case ‘3‘:b[3]++;break; case ‘4‘:b[4]++;break; case ‘5‘:b[5]++;break; case ‘6‘:b[6]++;break; case ‘7‘:b[7]++;break; case ‘8‘:b[8]++;break; case ‘9‘:b[9]++;break; } }while(a>=‘0‘&&a<=‘9‘); printf("%d个0,%d个1,%d个2,%d个3,%d个4,%d个5,%d个6,%d个7,%d个8,%d个9,",b[0],b[1],b[2],b[3],b[4],b[5],b[6],b[7],b[8],b[9]); return 0; }
知识点总结:
1.利用a[N],来实现对大量数据的读取;
2.利用a[N]和循环来从输入的大量数据中提取有用的数据;
3.利用a[N]来对一些特殊程序进行优化。
实验总结:
1.a[N]是从a[0]开始的不是从a[1]开始的;
2.输入一串数字时用char型变量来读取,不用int;
3.两个=是等于一个=是赋值。
第八次作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。