左手soul 左手soul
山中极客单身犬,槛外书生四眼蛙。
关注数: 18 粉丝数: 50 发帖数: 3,049 关注贴吧数: 18
新手 发现个问题 死活看不出来 急死了 #include<stdio.h> #include<string.h> struct data { long int num; char name[10]; char sub[10][10]; int subsco[10]; }student[10]; double ave(int *a,int n) { int i; double _ave=0; for(i=0;i<n;i++)_ave=_ave+(double)(*(a+i))/n; return _ave; } int max(int *a,int n) { int i,_max; for(i=0;i<n;i++) { if(a[i]>a[i+1])_max=a[i]; else _max=a[i+1]; } return _max; } int min(int *a,int n) { int i,_min; for(i=0;i<n;i++)_min=(*(a+i))<(*(a+i+1))?(*(a+i)):(*(a+i+1));; return _min; } void main() { int i,j,m,n,_max=0,_min=0,a[10][10],b[10]; double _ave; char c; for(i=0;i<10;i++) { printf("Please enter the data of student %d:\n",i); printf("student number:"); scanf("%d",&student[i].num); printf("student name:"); getchar(); gets(student[i].name); for(j=0;j<10;j++) { printf("subject:"); if(j!=0)getchar(); gets(student[i].sub[j]); printf("The scores of it is:"); scanf("%2d",&student[i].subsco[j]); printf("\nIs there any other subject?(Please enter Y/N)"); getchar(); c=getchar(); if(c!='Y'&&c!='y')break; } printf("The average scores of student %d is:%5.2f",i,ave(student[i].subsco,j+1)); printf("\nAdd more students?(Please enter Y/N)\n"); getchar(); c=getchar(); if(c!='Y'&&c!='y')break; } { n=i+1; m=j+1; for(i=0;i<n;i++) for(j=0;j<m;j++) { a[j][i]=student[i].subsco[j]; } printf("\nThe average scores of each subject:\n"); for(i=0;i<m;i++) { for(j=0;j<n;j++)b[j]=a[i][j]; _ave=ave(b,n); printf("subject:%s\taverage scores:%5.2f\n",student[0].sub[i],_ave); } printf("\nThe max scores of each subject:\n"); for(i=0;i<m;i++) { for(j=0;j<n;j++)b[j]=a[i][j]; _max=max(b,n); printf("subject:%s\tmax scores:%2d\n",student[0].sub[i],_max); } printf("\nThe min scores of each subject:\n"); for(i=0;i<m;i++) { for(j=0;j<n;j++)b[j]=a[i][j]; _min=min(b,n); printf("subject:%s\tmin scores:%2d\n",student[0].sub[i],_min); } } } 最后的最大值最小值函数老不对,求大神帮助
1 下一页