首页 > 电脑

c语言问题

更新时间2018-11-28 00:45:47

#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;
}
程序的运行结果:

c语言问题


相关标签:c语言

上一篇:用strcpy把数组2前两个字符复制到数组1

下一篇:编译原理中的语法二义性和消除左递归