首页 > 代码库 > 第八次作业
第八次作业
1.输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
#include <stdio.h> #define N 100 int main() { int xs[N],sum=0,zd,zx,i=0,izd=1,izx=1,x,y; float pjf; printf("请输入学生成绩,输入负数时为结束\n"); scanf("%d",&xs[i]); zd=xs[0]; zx=xs[0]; while(xs[i]>=0) { sum+=xs[i]; if(xs[i]>zd) { zd=xs[i]; izd=i+1; } if(xs[i]<zx) { zx=xs[i]; izx=i+1; } i++; printf("请输入学生成绩,输入负数时为结束\n"); scanf("%d",&xs[i]); } pjf=(float)sum/i; printf("平均分为%f,最高分为%d,序号为%d;最低分为%d,序号为%d\n",pjf,zd,izd,zx,izx); printf("输入学生成绩查找序号。\n"); scanf("%d",&x); for(y=0;y<=i;y++) { if(x==xs[y]) { y=y+1; printf("序号为%d",y); } else { printf("*"); } } return 0; }
2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
#include <stdio.h> int main() { int a[11]={1,3,5,7,9,11,13,15,17,19},x,i,y; printf("1,3,5,7,9,11,13,15,17,19\n输入一个数,插入数列中\n"); scanf("%d",&x); for(i=0;i<=10;i++) { if(a[i]>x) { y=i; break; } else { y=10; } } for(i=10;i>y;i--) { a[i]=a[i-1]; } a[y]=x; printf("%d %d %d %d %d %d %d %d %d %d %d",a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10]); return 0; }
3.用数组实现火柴棍等式
#include<stdio.h> int main() { int hc[10]={6,2,5,5,4,5,6,3,7,6},x,y,z,sum; for(x=0;x<=9;x++) for(y=0;y<=9;y++) { z=x+y; if(z>9) break; sum=hc[x]+hc[y]+hc[z]; if(sum==12) printf("%d+%d=%d\n",x,y,z); } return 0; }
知识点总结
1,数组后面的括号内的数不能是变量。
2,数组的数的个数不能超过设定的数。
实验总结
1,先是从数组**[0] 开始储存数的。
2,设定数组时的“【*】”内的数与储存数组的“【*】”内的数的意义不同。
第八次作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。