第八次作业
Posted 康伯兴
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第八次作业相关的知识,希望对你有一定的参考价值。
一.实验内容
1.
实验要求:输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
代码:
#include<stdio.h> #define N 100 int main() { int score[N],n,i,sum,max,min,grade,b; double average; printf("请输入学生的数量。\\n"); scanf("%d",&n); sum=0; for(i=1;i<=n;i++) { printf("请输入第%d个学生的成绩。\\n",i); scanf("%d",&score[i]); sum=sum+score[i]; } average=(double)sum/n; printf("平均成绩为%.2lf\\n",average); max=score[1]; min=score[1]; for(i=1;i<=n;i++) { if(score[i]>max) max=score[i]; if(score[i]<min) min=score[i]; } for(i=1;i<=n;i++) { if(score[i]==max) printf("第%d名学生成绩最高。\\n",i); } for(i=1;i<=n;i++) { if(score[i]==min) printf("第%d名学生成绩最低。\\n",i); } printf("请输入你想查找的成绩。\\n"); scanf("%d",&grade); b=0; for(i=1;i<=n;i++) { if(score[i]==grade) { printf("符合这个成绩的学生是%d\\n",i); b++; } } printf("总共有%d名学生。\\n",b); return 0; }
运行结果:
2.
实验要求:现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
代码:
#include<stdio.h> #define N 11 int main() { int sum[N]={10,20,30,40,50,60,70,80,90,100},x,i,y=10,c; printf("请输入插入其中的数字:\\n"); scanf("%d",&x); for(i=0;i<N-1;i++) { if(sum[i]>=x) { y=i; break; } } if(y<10) { for(i=N;i>y;i--) { sum[i]=sum[i-1]; } } sum[y]=x; for(i=0;i<N;i++) { printf("%4d\\n",sum[i]); } return 0; }
运行结果:
3.
实验要求:用数组实现火柴棍等式
代码:
#include<stdio.h> int main() { int hcg[10]={6,2,5,5,4,5,6,3,7,6},x,y,z; for(x=0;x<=9;x++) { for(y=0;y<=9;y++) { z=x+y; if(z>9) { break; } if(hcg[x]+hcg[y]+hcg[z]==12) { printf("%d+%d=%d\\n",x,y,z); } } } return 0; }
运行结果:
二.知识点总结:
1.运用define确定数组中元素的个数。
2.数组不初始化,其元素值为随机数有部分赋了初值,其他部分就会默认是0。
3.数组变量本身(数组名)不能被复制,它只代表一个地址。
三.实验总结:
1.数组下标从第一个零开始。
2.整形除整形还是整形,不能忘记类型转换
3.每个数组元素是一个数组类型的变量
以上是关于第八次作业的主要内容,如果未能解决你的问题,请参考以下文章