首页 > 代码库 > 第八次作业
第八次作业
实验一:
输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
#include<stdio.h> int main() { int max,min,n,i,sum,grade[100],grade1,a=0,b=0,c,d=0; double average; printf("请输入您要输入学生成绩的个数:\n"); scanf("%d",&n); for(i=0;i<n;i++) { printf("请输入学生成绩:\n"); scanf("%d",&grade[i]); sum=sum+grade[i]; } average=(double)sum/n; printf("这%d名同学的平均分数为:%1.2lf\n",n,average); max=grade[0]; min=grade[0]; for(i=0;i<n;i++) { if(max<grade[i]) { max=grade[i]; } if(min>grade[i]) { min=grade[i]; } } for(i=0;i<n;i++) { if(max==grade[i]) { printf("最高分有第%d位同学\n",i+1); } if(min==grade[i]) { printf("最底分有第%d位同学\n",i+1); } } printf("请输入您想查询的成绩:\n"); scanf("%d",&grade1); for(i=0;i<n;i++) { if(grade1==grade[i]) { c=i; printf("成绩为%d的有第%d位同学\n",grade1,c+1); d++; } } printf("最高分是%d,最低分数是%d,分数为%d的同学有%d位",max,min,grade1,d); return 0; }
实验二:
2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
实验三:
3.用数组实现火柴棍等式
#include<stdio.h> int main() { int a,b,c,sum,gen[10]={6,2,5,5,4,5,6,3,7,6}; for(a=0;a<=9;a++) { for(b=0;b<=9;b++) { c=a+b; if(c>9) { break; } sum=gen[a]+gen[b]+gen[c]; if(sum==12) { printf("%d+%d=%d\n",a,b,c); } } } return 0; }
附加题:
输入一行任意长的数字,用数组元素作为计数器统计每个数字出现的次数。用下标为0的元素统计0出现的次数,用下标为1的元素统计1出现的次数…
int main() { int number[10]={0},i; char number1; printf("请输入任意一串数字"); scanf("%c",&number1); while(number1!=‘\n‘) { switch(number1) { case ‘0‘:number[0]++;break; case ‘1‘:number[1]++;break; case ‘2‘:number[2]++;break; case ‘3‘:number[3]++;break; case ‘4‘:number[4]++;break; case ‘5‘:number[5]++;break; case ‘6‘:number[6]++;break; case ‘7‘:number[7]++;break; case ‘8‘:number[8]++;break; case ‘9‘:number[9]++;break; } scanf("%c",&number1); } for(i=0;i<=9;i++) { printf("数字%d出现啦%d次\n",i,number[i]); } return 0; }
实验总结:
1 数组必须先定义后使用;
2 要注意数组的下标是从零开始的;
3 c语言中数组的越位系统不会提示错误,当发生越位后有可能会吧重要内容覆盖,因此一定不要让数组下标越位;
4 确定数组长度用[],赋值用{};
5 当用switch时如果括号里是字符型的,在下面的语句要带上单引号;
第八次作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。