首页 > 代码库 > 作业8
作业8
1.输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
#include <stdio.h> int main () { int n; int score[n],max=0,sum=0,i,min=101,a,b,x; double average; printf("请输入有多少人"); scanf("%d",&n) ; for (i=0;i<n;i++) { printf("请输入成绩"); scanf("%d",&score[i]) ; sum=sum+score[i]; if(score[i]>max) { max=score[i]; a=i; } if (score[i]<min) { min=score[i]; b=i; } } average=sum/n; printf("平均分为%.lf,最高为%d,是第%d个,最低是%d,是第%d个",average,max,a,min,b); printf("请输入要查找的数字") ; scanf("%d",&x); for(i=0;i<n;i++) { if(score[i]==x) printf("是%d号学生",i); }
2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
# include <stdio.h> int main() { int i,j,x,a,w[11]={2,5,7,9,11,13,15,16,17,19}; printf("请输入一个数字:\n"); scanf("%d",&a); for(i=10;i>=0;i--) { if(a>=w[i-1]) { for(j=10;j>i;j--) { w[j]=w[j-1]; } w[i]=a; break; } if(i==0) { for(j=10;j>i;j++) { w[j]=w[i]; } w[0]=a; break; } } for(x=0;x<=10;x++) { printf("%d ",w[x]); } return 0; }
3.用数组实现火柴棍等式
#include <stdio.h> int main() { int x,y,z,a[10]={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; }
实验知识点总结:
1.循环语句for的格式。
2.数组的应用
实验总结:
1.许多地方都要注意字母的中英文,尤其是输入完汉字之后总是会输入全角的英文,导致最后找错很麻烦。
2.要注意数组的数字是从0开始
3.注意数组和循环的使用
4.语句的使用要注意分号的使用 ,还有大括号的使用。还要注意执行的返回 ,是否结束。
5.注意嵌套的方式以及跳出循环的位置.
6.注意题目的限制条件
7.注意括号的使用 在很多时候程序错误就是因为括号没扩对。
作业8
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。