首页 > 代码库 > 第八次作业
第八次作业
一.实验内容
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.每个数组元素是一个数组类型的变量
第八次作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。