标题:为什么会出错?
只看楼主
天涯海角
Rank: 2
等 级:新手上路
威 望:3
帖 子:507
专家分:0
注 册:2005-10-21
 问题点数:0 回复次数:4 
为什么会出错?

请问,以下程序编译结果,为什么会出错?就是计算的结果不正确。 ~~~~~~~~~~~~~~~~~~~~~~~~~~ #include<stdio.h> #define N 1 void main() { int i,j; static char name[N][20]; static float a[N][4]; static float sum[N]; static float avg[N]; static float sums[4]; static float avgs[4]; for(i=0;i<=N-1;i++ ) { printf("请输入学生姓名:\n"); scanf("%s",name[i]); printf("请输入成绩:\n"); sum[i]=0; for(j=0;j<=3;j++) { abc: scanf("%f",&a[i][j]); if(a[i][j]<0||a[i][j]>100) { printf("输入有误,请重输!\n"); goto abc; } sum[i]=sum[i]+a[i][j]; } avg[i]=sum[i]/4; } printf("***********************************************************************\n"); for(i=0;i<=4;i++) { sums[i]=0; for(j=0;j<=N-1;j++) { sums[i]=sums[i]+a[j][i]; } avgs[i]=sums[i]/N;

} //以下为输出的内容。 printf("姓名\t\t数学\t语文\t物理\t化学\t个人总分\t平均分\n"); for(i=0;i<=N-1;i++ ) { printf("%s\t\t",name[i]); for(j=0;j<=3;j++) { printf("%g\t",a[i][j]); } printf("%g\t",sum[i]); printf("\t%g",avg[i]); printf("\n"); } printf("***********************************************************************\n"); printf("各科平均\t"); for(i=0;i<=3;i++) { printf("%g\t",avgs[i]); } printf("\n"); }

搜索更多相关主题的帖子: float static name sum 
2005-10-21 19:48
wenyong
Rank: 1
等 级:新手上路
帖 子:251
专家分:0
注 册:2005-8-9
得分:0 
N=1 你都不能实现循环 , 当然错了哦 for(i=0;i&lt;=N-1;i++ )
有N的地方错了

2005-10-21 20:12
天涯海角
Rank: 2
等 级:新手上路
威 望:3
帖 子:507
专家分:0
注 册:2005-10-21
得分:0 
是不是数组下标出错了?

我的未来不是梦!
2005-10-21 20:16
wenyong
Rank: 1
等 级:新手上路
帖 子:251
专家分:0
注 册:2005-8-9
得分:0 
static char name[N][20];二维数组
scanf("%s",name[i]);
一维数组
怎么可能对呢 ?

2005-10-21 21:03
天涯海角
Rank: 2
等 级:新手上路
威 望:3
帖 子:507
专家分:0
注 册:2005-10-21
得分:0 
找到问题原因了for(i=0;i&lt;=4;i++)应为for(i=0;i&lt;=3;i++)
谢谢各位热心的朋友!!!

我的未来不是梦!
2005-10-21 21:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-30913-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.306898 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved