#include<stdio.h>
int main()
{
float a[4][5];
int i,j,t1;
float aver,max,total;
printf("请输入数组");
for(i=0;i<=3;i++)
{
for(j=0;j<=4;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<=3;i++)
{ for(j=0;j<=4;j++)
max=a[0][0]+a[0][1]+a[0][2]+a[0][3]+a[0][4];
}
for(i=0;i<=3;i++)
{
for(j=0;j<=4;j++)
{
total=a[i][0]+a[i][1]+a[i][2]+a[i][3]+a[i][4];
}
if(total>max)
{
max=total;
t1=i+1;
}
}
aver=max/5;
printf("平均值最大的行是第%f行,平均值是%f",t1,aver);
return 0;
}
我的平均值算出来总是0或者乱码。
请编程高手支招
输入我调试了的,没有问题啊
追答1 把你的类型全部改成int型,看看你的算法是否正确;
2 把数组改小,可以加快调试速度;
3 用断点,一步一步确认
我确定你的max一开始就错了,改成scanf("%f",&a[i][j]);后max是15.0
谢谢了!!我后面做了两个无用的循环,但是输入数组是没有错误的。我已经找到答案了!