首页 > 代码库 > 第八次作业
第八次作业
这不是占坑:这不是占坑:这不是占坑:重要的事情说三遍!!!
1.输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
# include<stdio.h> # define N 9999 int main() { int a,b,d,i,sum=0,max,min,m=0,e=0; double average; int sore[N]; printf("请输入人数\n"); scanf("%d",&b); for(i=0;i<b;i++) { printf("输入学生成绩\n"); scanf("%d",&sore[i]); sum=sum+sore[i]; } average=(double)sum/b; printf("平均数为%.2f\n",average); max=sore[0]; min=sore[0]; for(i=0;i<b;i++) { if(sore[i]>max) { e=i+1; } } for(i=0;i<b;i++) { if(min>sore[i]) { m=i+1; } } printf("最大分数的学生为%d\n",e); printf("最小分数的学生为%d\n",m); printf("输入一个分数,输出他是谁\n"); scanf("%d",&d); for(i=0;i<b;i++) { if(sore[i]==d) { printf("他是%d\n",i+1); break; } } return 0; }
3.用数组实现火柴棍等式
# include <stdio.h> int main() { int a,b,sum; int match[10]={6,2,5,5,4,5,6,3,7,6}; for(a=0;a<=9;a++) { for(b=0;b<=9;b++) { sum=a+b; if(sum>9) { break; } if(match[a]+match[b]+match[sum]==12) { printf("%d+%d=%d\n",a,b,sum); } } } return 0; }
2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
# include<stdio.h> # define N 10 int main() { int a,b,c,d,e,i; int shu[N]={1,3,5,7,9,11,13,15,17}; printf("输入一个数1,3,5,7,9,11,13,15,17\n"); scanf("%d",&a); for(i=0;i<N;i++) { if(shu[i]>=a) { b=i; printf("%d\t",b); break; } } for(i=b,c=N-1;i<=c;c--) { shu[c]=shu[c-1]; } shu[b]=a; for(i=0;i<N;i++) { printf("%d ",shu[i]); } return 0; }
附加题
输入一行任意长的数字,用数组元素作为计数器统计每个数字出现的次数。用下标为0的元素统计0出现的次数,用下标为1的元素统计1出现的次数…
# include<stdio.h> # define N 10 int main() { int a; int shu[N]={0}; char e; printf("输入一串数\n"); do{ scanf("%c",&e); switch(e) { case ‘0‘: shu[0]++; break; case ‘1‘: shu[1]++; break; case ‘2‘: shu[2]++; break; case ‘3‘: shu[3]++; break; case ‘4‘: shu[4]++; break; case ‘5‘: shu[5]++; break; case ‘6‘: shu[6]++; break; case ‘7‘: shu[7]++; break; case ‘8‘: shu[8]++; break; case ‘9‘: shu[9]++; break; } }while(e!=‘\n‘); for(a=0;a<10;a++) { printf("这个数%d,共有%d个\n",a,shu[a]); } }
知识点总结:
1.数组和变量一样应该先定义后使用,数组和变量一样有整型,字符型,浮点型等,使用数组需要定义一个数组名和数组元素的个数,
2.数组必须遵循标识符命名规则,数组是有顺序的,有数组的下标变量,从零开始 格式数组名[下标]
3.有数组就有循环, 不赋值的数组为随机数, #define符号常量可以在开始应用,
4.常量变达式用方括号括起来,注意下标不要越界,
实验总结:
1.附加题不会瞄了一眼,
2.对于有些题看见是就是一脸懵连思路都没有,没办法,有的时候只能放下,过一段时间说不定会有新思路,
3.第一题运行不来时返回去检查居然发现
scanf("%d",&sore[i]);这里写错了,非常简单的错误,找了半天才看见,
4.在第二题中数组退一位想半天才想出来,在草稿纸上写了半天,
第八次作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。