第八次作业
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第八次作业相关的知识,希望对你有一定的参考价值。
一、 实验内容
1.实验要求
输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。
代码
1 #include<stdio.h> 2 #define N 999 3 int main() 4 { 5 int score[N],sum=0,i,n,max,min,y; 6 double average; 7 printf("Please input the numbers of students:\\n"); 8 scanf("%d",&n); 9 printf("Please input the score:\\n"); 10 for(i=0;i<n;i++) 11 { 12 scanf("%d",&score[i]); 13 } 14 for(i=0;i<n;i++) 15 { 16 sum+=score[i]; 17 } 18 average=(double)sum/n; 19 printf("The average is:%5.lf\\n",average); 20 max=score[0]; 21 for(i=0;i<n;i++) 22 { 23 if(score[i]>max) 24 { 25 max=score[i]; 26 } 27 } 28 printf("Max=%d num%d\\n",max,i); 29 min=score[0]; 30 for(i=0;i<n;i++) 31 { 32 if(score[i]<min) 33 { 34 min=score[i]; 35 } 36 } 37 printf("Min=%d num%d\\n",min,i); 38 printf("Input the number you want to search\\n"); 39 scanf("%d",&y); 40 for(i=0;i<n;i++) 41 { 42 if(score[i]==y) 43 { 44 i+=1; 45 printf("num%d\\n",i); 46 break; 47 } 48 } 49 50 } 51 int search(int num[],int n,int x) 52 { 53 int i; 54 for(i=0;i<=n;i++) 55 { 56 if(num[i]==x) 57 return i; 58 } 59 return -1; 60 }
运行结果
2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。
代码
1 #include<stdio.h> 2 int main() 3 { 4 int i,x,a,b[11]={5,10,15,20,25,30,35,40,45,50}; 5 scanf("%d",&a); 6 for(i=10;i>=0;i--) 7 { 8 if(a>=b[i-1]) 9 { 10 for(x=10;x>i;x--) 11 { 12 b[x]=b[x-1]; 13 } 14 b[i]=a; 15 break; 16 } 17 if(i==0) 18 { 19 for(x=10;x>i;x--) 20 { 21 b[x]=b[x-1]; 22 } 23 b[0]=a; 24 break; 25 } 26 } 27 for(i=0;i<11;i++) 28 { 29 printf("%d ",b[i]); 30 } 31 }
运行结果
3.用数组实现火柴棍等式
代码
1 #include <stdio.h> 2 int main() 3 { 4 int x,y,z,a[10]={6,2,5,5,4,5,6,3,7,6}; 5 for(x=0;x<=9;x++) 6 { 7 for(y=0;y<=9;y++) 8 { 9 for(z=0;z<=9;z++) 10 { 11 if(a[x]+a[y]+a[z]==12&&x+y==z) 12 { 13 printf("%d+%d=%d\\n",x,y,z); 14 } 15 } 16 } 17 } 18 return 0; 19 }
运行结果
知识点总结:
1.define 范围可以尽量大些
2.不能定义动态数组
实验总结
第一题最值还有点问题,时间关系我已经尽力了,同时祝贺才艺大赛圆满成功,工作人员辛苦了
以上是关于第八次作业的主要内容,如果未能解决你的问题,请参考以下文章