c语言二维数组求和问题!急求大神!!

#include<stdio.h>#include<conio.h>#include<string.h>#defineN5//三门课程第一行为学号2.3.4为三科成绩第五... #include<stdio.h>
#include<conio.h>
#include<string.h>
#define N 5 //三门课程 第一行为学号 2.3.4为三科成绩 第五行为总分
float a[N][100];
char name[100][20];
int n=0,p;
main(){
int j, i, s=0;
printf("请输入学生人数");
scanf("%d",&p);
for(j=0;j<p;j++){
n++;
printf("\n请输入第%d个学生学号",n);
scanf("%f",&a[0][n-1]);
printf("\n%f",a[0][n-1]); //测试学号输出是否正常
printf("\n请输入第%d个学生姓名",n);
scanf("%s",name[n-1]);printf("\t%s",name[n-1]);//测试名字是否正常, 正常
a[4][n-1]=0;
for(i=1;i<=(N-2);i++){

printf("\n请输入第%d门课程成绩",i);
scanf("%f",&a[i][n-1]);
printf("\t%f",a[i][n-1]); //测试成绩是否输入正常
s+=a[i][n-1]; //这个还正常能求和,换成数组就不行了
printf("\t%d",s); //测试 , 正常
a[4][n-1]=a[i][n-1]+a[4][n-1];
printf("\t%d",a[4][n-1]);//测试总分是否正常,一样的式子 这个结果总是0

}
getch();
}}
为什么二维数组输入 输出以后还是0啊 求大神啊
展开
 我来答
第一碗羊杂割
2015-07-09 · TA获得超过6145个赞
知道大有可为答主
回答量:1107
采纳率:80%
帮助的人:554万
展开全部

因为题主的数组定义的是浮点数数组,而 printf 中写的却是 %d 整数,导致了类型不匹配。只需把内部 for 循环的最后一句改成

printf("\t%f", a[4][n - 1]);

即可。运行结果如下:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式