永发信息网

简单的C语言改错

答案:1  悬赏:50  手机版
解决时间 2021-04-25 08:03
  • 提问者网友:不爱我么
  • 2021-04-25 00:23

#include<stdio.h>
void main()
{
int i,j,temp=0,x,y;
float a[11][6];
for(i=0;i<10;i++)

{
printf("输入第%d个学生的成绩\n",i+1);
scanf("%f%f%f%f%f",&a[i][0],&a[i][1],&a[i][2],&a[i][3],&a[i][4]);
a[i][5]=0;
}
for(j=0;j<5;j++)
a[11][j]=0;
for(i=0;i<10;i++)
{
for(j=0;j<5;j++)
a[i][5]+=a[i][j];
a[i][5]=a[i][5]/5;
printf("%3.1f",a[i][5]);
}
printf("\n");
for(j=0;j<5;j++)
{
for(i=0;i<10;i++)
a[10][j]+=a[i][j];
a[10][j]=a[10][j]/10;
printf("%3.1f",a[10][j]);
}
printf("\n");
for(i=0;i<10;i++)
for(j=0;j<5;j++)
{
if(a[i][j]>temp) {x=i;y=j;temp=a[i][j];}
}
printf("%3d%3d\n",x+1,y+1);
}

输入50个数后,就运行不了了,怎么回事,求解答

该题目是求10个学生5门课;每个学生的平均分,每门课的平均分;最后最高分数在哪个学生,哪个门课程

最佳答案
  • 五星知识达人网友:枭雄戏美人
  • 2021-04-25 00:58

#include<stdio.h>


void main()
{
int i, j, x, y;
float a[11][6], temp = 0; //temp的类型应该跟数组a一样
for(i = 0; i < 10; i++)
{
printf("输入第%d个学生的成绩\n", i + 1);
scanf("%f%f%f%f%f", &a[i][0], &a[i][1], &a[i][2], &a[i][3], &a[i][4]);
a[i][5] = 0;
}
for(j = 0; j < 5; j++)
a[10][j] = 0; //数组a第一维下标最大是10
for(i = 0; i < 10; i++)
{
for(j = 0; j < 5; j++)
a[i][5] += a[i][j];
a[i][5] = a[i][5] / 5;
printf("%5.1f", a[i][5]); //指定宽度太小数字会连在一起
}
printf("\n");
for(j = 0; j < 5; j++)
{
for(i = 0; i < 10; i++)
a[10][j] += a[i][j];
a[10][j] = a[10][j] / 10;
printf("%5.1f", a[10][j]); //指定宽度太小数字会连在一起
}
printf("\n");
for(i = 0; i < 10; i++)
for(j = 0; j < 5; j++)
{
if(a[i][j] > temp)
{
x = i;
y = j;
temp = a[i][j];
}
}
printf("%3d%3d\n", x + 1, y + 1);
}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯