首页 > 代码库 > 第八次作业
第八次作业
1.输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
# include<stdio.h> # define N 100 int main() { int i,a,b,c,d,e,sum,max,min; double average; int score[N]; printf("请输入学生的人数\n"); scanf("%d",&a); b=0; c=0; d=0; e=0; sum=0; for(i=0;i<a;i++) { printf("请输入学生的成绩\n"); scanf("%d",&score[i]); sum=sum+score[i]; } average=(double)sum/a; printf("学生成绩平均数为%.2f\n",average); max=score[0]; min=score[0]; for(i=0;i<a;i++) { if(score[i]>=max) { b=i+1; } } for(i=0;i<a;i++) { if(score[i]<=min) { c=i+1; } } printf("取得最大分数的学生为%d\n",b); printf("取得最小分数的学生为%d\n",c); printf("请输入一个分数,我将输出他是第几名\n"); scanf("%d",&d); for(i=0;i<a;i++) { if(score[i]==d) { e=i+1; printf("他是第%d名学生\n",e); } } return 0; }
2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
#include<stdio.h> int main() { int i,a,b; int number[11]={0,10,20,30,40,50,60,70,80,90}; printf("0,10,20,30,40,50,60,70,80,90,请输入一个数插入数据中的数\n"); scanf("%d",&b); if(b>=number[9]) { printf("0,10,20,30,40,50,60,70,80,90,%d",b); } else { for(i=0;i<10;i=i+1) { if(b<number[i]) { a=i; break; } } for(i=10;i>=a;i=i-1) { number[i+1]=number[i]; } number[a]=b; printf("现在数据为"); for(i=0;i<11;i=i+1) { printf("%d ",number[i]); } } return 0; }
3.用数组实现火柴棍等式
# include <stdio.h> int main() { int x,y,sum; int gen[10]={6,2,5,5,4,5,6,3,7,6}; for(x=0;x<=9;x++) { for(y=0;y<=9;y++) { sum=x+y; if(sum>9) { break; } if(gen[x]+gen[y]+gen[sum]==12) { printf("%d+%d=%d\n",x,y,sum); } } } return 0; }
知识点总结1.数组的下标是从0开始的。
2.在数组定义后对数组进行动态赋值,通常通过循环结构实现。
实验总结1.:元素应该是同种数据类型,元素在内存中是连续依次排列的。
2.使用#define声明多行函数与声明单行函数没有本质区别。
第八次作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。