请问到底哪里错了?最大最小值和比例总是有问题。

用数组存储并处理n位同学m门课程的分数,nm、分数由用户任意输入。

一、输出所有同学所有课程的分数。

二、输出每位同学的总分和平均分,保留1位小数。

三、输出每位同学的最高分、最低分。

四、分别输出每位同学的不及格课程(低于60分)、优秀课程(不低于90分)所占的比例。



#include<stdio.h>

int main()

{


int m,n;

printf("输入n位同学,m门课程:\n");

scanf("%d,%d\n",&n,&m);

int a[n][m],i,j;

for(i=0;i<n;i++)

for(j=0;j<m;j++)

scanf("%d",&a[i][j]);

float sum[n],average[m],b[i],r=0,t=0,B[i],g=0;

int max[i],min[i];

for(i=0;i<n;i++)

{average[i]=0;sum[i]=0;

for(j=0;j<m;j++)

{

sum[i]=sum[i]+a[i][j];

average[i]=sum[i]/(float)m;

printf("同学成绩=%3d",a[i][j]);

printf("\n");

max[i]=a[0][0];

min[i]=a[0][0];

if(a[i][j]>max[i])

max[i]=a[i][j];

if(a[i][j]<min[i])

min[i]=a[i][j];

if(a[i][j]<60)

r++;

b[i]=r/m;

if(a[i][j]>90)

t++;

B[i]=t/m;

}  

printf("总分=%.1f\n平均分=%.1f\n",sum[i],average[i]);

printf("最高分=%d\n最低分=%d\n",max[i],min[i]);

printf("不及格比例=%.1f\n优分比例=%.1f\n", b[i],B[i]);

}

return 0;

 } 


qq_那条路那段回忆_0
浏览 1434回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP