数组
上机题9.编写程序:从键盘输入一串整数保存到数组中,调用函数antitone()将数组反序输出。自定义函数void antitone(int a[],int n)实现将数组中的n个数据按逆序存放。 #include
#include
void antitone(int a[],int n) {
int i,j; int k; i=0; j=n-1;
while(i k=a[i]; a[i]=a[j]; a[j]=k; i++; j--; } } void main() { int array[100]; int n,i,m; printf(\请输入要输入整数的个数:\ scanf(\ memset(array,0,sizeof(array)); //数组初始化语句 printf(\请输入整数:\ for(i=0;i scanf(\ antitone(array,n); for(m=0;m printf(\ } } 上机题10.已知某数列的前两项为2和3,其后每一项为其前两项之积。编程实现:从键盘输入一个整数x,判断并输出x最接近数列的第几项? #include if (n==1) return 2; if (n==2) return 3; if (n>2) return (num(n-2)*num(n-1)); } int main() { int i,x; scanf(\ for (i=1;;++i) if(x-num(i)<=0) break; if (abs(x-num(i)) 上机题11.分别用函数和数组实现,输入10个学生5门课的成绩并完成如下功能: ⑴求每个学生的平均分。 ⑵求没门课程的平均分。 ⑶输出一张包括10个学生成绩的成绩单。 ⑷找出最高分数所对应的学生(学号)和课程。 ⑸分别统计5门课程都高于90分的学生人数。 #include int i,j,a[10][10]; float s1[10]={0}; float s2[10]={0}; int m=1; for(i=0;i<10;i++) { printf(\请输入第%d个人的成绩\\n\ for(j=0;j<5;j++) { scanf(\ } } for(i=0;i<10;i++) { for(j=0;j<5;j++) { s1[i]+=a[i][j]; if(i<5) { s2[i]+=(a[j][i]+a[9-j][i]); } } } printf(\ for(i=0;i<10;i++) printf(\第%d个人的平均成绩是%f\\n\ for(i=0;i<5;i++) printf(\第%门课程的平均成绩是%f\\n\ for(i=0;i<40;i++) printf(\ printf(\ printf(\学号\\t英语\\t高数\\tC语言\\tVFP\\tC++\\n\ for(i=0;i<10;i++) { printf(\ for(j=0;j<5;j++) { printf(\ } printf(\ } for(i=0;i<40;i++) printf(\ float max=0; int k,l; for(i=0;i<10;i++) { for(j=0;j<5;j++) { if(a[i][j]>max) { max=a[i][j]; k=i; l=j; } } } printf(\学号为%d的同学的第%d门课程的成绩%f分,最高\\n\ int n=0; for(i=0;i<10;i++) { m=0; for(j=0;j<5;j++) { if(a[i][j]>90) m++; } if(m==5) n++; } printf(\门课程都高于90分的共有%d个\\n\ }
相关推荐: