这个C语言程序哪里错误?为什么输出总是0?

#include<stdio.h>#defineN11main(){intx,y,n,i;floats=0,a[N][N];scanf("%d",&n);for(y=1;... #include<stdio.h>
#define N 11
main()
{int x,y,n,i;
float s=0,a[N][N];
scanf("%d",&n);
for(y=1;y<=n;y++)
{for(x=1;x<=n;x++)
{scanf("%d",&a[x][y]);
}
}
for(i=1;i<=n;i=i++)
s=s+a[i][i]+a[i][n+1-i];
if(n%2==1){s=s-a[(n+1)/2][(n+1)/2];}
printf("%d\n",s);
getch();
}
这个程序是用来计算10*10以内方阵的对角线各数之和的,应该怎样修改才能得到正确的程序呢?
展开
 我来答
匿名用户
2010-04-28
展开全部
scanf("%d",&a[x][y]);

改为

scanf("%f",&a[x][y]);

printf("%d\n",s);

改为

printf("%f\n",s);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
使者0123
2010-04-28 · 超过41用户采纳过TA的回答
知道小有建树答主
回答量:284
采纳率:0%
帮助的人:89.8万
展开全部
#include<stdio.h>
#define N 11
main()
{int x,y,n,i;
float s=0,a[N][N];
printf("输入n值(n<%d):",N);
scanf("%d",&n);
for(y=0;y<=n;y++)
{for(x=0;x<=n;x++)
{
printf("输入a[%d][%d]值:",y,x);
scanf("%f",&a[x][y]);
}

}
for(i=1;i<=n;i++)
s=s+a[i][i]+a[i][n+1-i];

if(n%2==1)
{
s=s-a[(n+1)/2][(n+1)/2];
}

printf("%f\n",s);

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
oiweqrasdf
2010-04-28
知道答主
回答量:72
采纳率:0%
帮助的人:20.2万
展开全部
c数组不是从0开始的么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式