c语言问题
#include <stdio.h>
int main()
{
int average(int a[10][5]);
int a[10][5]={{1,2,3,4,5},{2,3,4,5,1},{3,4,5,1,2},{4,5,1,2,3},{5,1,2,3,4},{6,7,8,9,0},{7,8,9,0,6},{8,9,0,6,7},{9,0,6,7,8},{0,6,7,8,9}};
average(a);
return 0;
}
int average(int a[10][5])
{
int i,j,sum;
float average;
for(i=0;i<10;i++)
{
for(j=0;j<5;j++)
{
sum=a[i][j]+sum;
average=sum/5;
}
printf("第%d个学生的平均分是%.2f
",i+1,average);
}
return 0;
}
运行结果:
第1个学生的平均分是-171798688.00
第2个学生的平均分是-171798688.00
第3个学生的平均分是-171798688.00
第4个学生的平均分是-171798688.00
第5个学生的平均分是-171798672.00
第6个学生的平均分是-171798672.00
第7个学生的平均分是-171798672.00
第8个学生的平均分是-171798656.00
第9个学生的平均分是-171798656.00
第10个学生的平均分是-171798640.00
Press any key to continue
为什么是乱码?
序中的错已经改了,在第1个for循环中增加了一句:sum=0;其余你可对照下面程序。
#include <stdio.h>
int main()
{
int average(int a[10][5]);
int a[10][5]={{1,2,3,4,5},{2,3,4,5,1},{3,4,5,1,2},{4,5,1,2,3},{5,1,2,3,4},{6,7,8,9,0},{7,8,9,0,6},{8,9,0,6,7},{9,0,6,7,8},{0,6,7,8,9}};
average(a);
return 0;
}
int average(int a[10][5])
{
int i,j,sum;
float average;
for(i=0;i<10;i++)
{ sum=0;
for(j=0;j<5;j++)
{
sum=a[i][j]+sum;
average=sum/5.0;
}
printf("The average score of the %dst student is:%.2f
",i+1,average);
}
gets(a);
return 0;
}
程序的运行结果: