为啥能运行,结果不对

C语言 码拜 8年前 (2015-11-27) 826次浏览
#include<stdio.h>
#define N 3
#define M 4
float score[M][N];
float class[M],people[N];
int main()
{
int i,j;
float h;
void input(void);
void aver1(void);
void aver2(void);
input();
aver1();
aver2();
printf(“\nNO.   cour1   cour2    cour3   cour4   aver\n”);
for(i=0;i<N;i++)
{
printf(“NO%2d”,i+1001);
for(j=0;j<M;j++)
printf(“%8.2f”,score[i][j]);
printf(“%8.2f\n”,people[i]);
}
printf(“\naverage:”);
for(j=0;j<M;j++)
printf(“%8.2f”,class[j]);
printf(“\n”);
return 0;
}
void input(void)
{
int i,j;
for(i=0;i<N;i++)
{
printf(“\nthe score of student %2d:”,i+1001);
for(j=0;j<M;j++)
scanf(“%f”,&score[N][M]);
}
}
void aver1(void)
{
int i,j;
int s;
for(i=0;i<N;i++)
{
for(j=0;j<M;j++)
s+=score[i][j];
people[i]=s/(float)M;
}
}
void aver2(void)
{
int i,j;
int s;
for(j=0;j<M;j++)
{
for(i=0;i<N;i++)
s+=score[i][j];
class[j]=s/(float)N;
}
}
解决方案:10分
aver中s没有初始化
另外,s最好是float的
解决方案:10分
不要把变量名字取为class,class是关键字,不能用作变量名
解决方案:10分
aver1、aver2 中的都要改
解决方案:30分
另:建议LZ贴代码是可按照下面截图:为啥能运行,结果不对
这样看程序就方便些了~~~

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明为啥能运行,结果不对
喜欢 (0)
[1034331897@qq.com]
分享 (0)