这个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以内方阵的对角线各数之和的,应该怎样修改才能得到正确的程序呢? 展开
#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);
改为
scanf("%f",&a[x][y]);
printf("%d\n",s);
改为
printf("%f\n",s);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#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);
}
#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);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询