首页 > 代码库 > 作业 八
作业 八
1.输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
#include<stdio.h> #define N 5 int main() { double average; int score[N],i,sum,max,index1,min,index2,index3,n,grade; printf("请输入成绩"); sum=0; for(i=0;i<N;i++) { scanf("%d",&score[i]); sum+=score[i]; } average=(double)sum/N; printf("average=%.2f",average); max=score[0]; index1=0; for(i=0;i<N;i++) { if(score[i]>max) { max=score[i]; index1=i; } } printf("max=%d,index1=%d",max,index1+1); min=score[0]; index2=0; for(i=0;i<N;i++) { if(score[i]<min) { min=score[i]; index2=i; } } printf("min=%d,index2=%d",min,index2+1); printf("请输入一个人的成绩"); scanf("%d",&grade); for(i=0;i<N;i++) { if(grade==score[i]) { printf("index=%d",i+1); break; } } return 0; }
2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
、
#include<stdio.h> #define N 11 int main() { int num[N]={1,3,5,7,9,11,13,15,17,19},x,y,i; printf("请输入一个数:\n"); scanf("%d",&x); for(i=0;i<N;i++) { if(x<=num[i]&&x>=num[i-1]) { y=i; break; } else if(x>num[9]) { y=i; } } for(i=N-1;i>y;i--) { num[i]=num[i-1]; } num[i]=x; for(i=0;i<N;i++) { printf("%d ",num[i]); } return 0; }
3.用数组实现火柴棍等式
#include<stdio.h> int main() { int match[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=match[x]+match[y]+match[z]; if(sum==12) { printf("%d+%d=%d\n",x,y,z); } } return 0; }
二、知识点总结
1、c语言中只能逐个引用数组元素 而不能一次引用整个数组。
2、只给部分数组元素附初值,则其后的元素被初始化为0.
3、数组必须先定义后使用。
4、一般在主函数前定义#define N[*],便于改变N值。
三、实验总结
1、输出学生是第几个人时,下标最好加一。
2、第二题不会的话,可以问问别人。
3、for里面的语句要用;分开。
4、#define语句后面不能加;。
作业 八
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。