求一个n×n的矩阵的对角线元素之和

hear_windows 2011-05-04 09:14:51
#include <stido.h>

int main(void)
{
int n;
printf("input n:");
scanf("%d",&n);

int i,sum;
for(i=0;i<n;i++)
sum=sum+a[i][i];

printf("对角线之和:\n",sum);

system("PAUSE");
return 0;
}
请问各位高手,上面的程序哪里写错啦!!!
...全文
7037 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
vipvvv 2011-05-05
  • 打赏
  • 举报
回复
1.sum没有初始化
2.变量的定义最好都放在程序的开头部分
  • 打赏
  • 举报
回复
如果是.C的话,要先声明,就是int x;放在函数的前面,然后再写
头文件,打错
int i,sum;
for(i=0;i<n;i++)
sum=sum+a[i][i];
sum 没初始化
a[i][i] 这个从哪里来?

这个n×n的矩阵,楼主也可以看数据结构的矩阵!
hear_windows 2011-05-04
  • 打赏
  • 举报
回复
呵呵,stdio是我打错啦
张小毛 2011-05-04
  • 打赏
  • 举报
回复
如果是*.c,估计你都编译不过,
shun_qizi_ran 2011-05-04
  • 打赏
  • 举报
回复
1、stdio.h
2、sum=0初始化化
3、矩阵a没有定义和初始化
hzc543806053 2011-05-04
  • 打赏
  • 举报
回复
#include <stdio.h> //应为stdio

int main(void)
{
int n,i,sum=0;
printf("input n:");
scanf("%d",&n);

for(i=0;i<n;i++)
sum=sum+a[i][i];

printf("对角线之和:\n",sum);

system("PAUSE");
return 0;
}
lt114896 2011-05-04
  • 打赏
  • 举报
回复

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
int n;
int i,sum=0;
printf("input n:");
scanf("%d",&n);
int **a;
a=(int **)malloc(sizeof(int *)*n);
for(i=0;i<n;i++)
a[i]=(int *)malloc(sizeof(int)*n);

for(i=0;i<n;i++)
for(int j=0;j<n;j++)
a[i][j]=1;


for(i=0;i<n;i++)
sum=sum+a[i][i];

printf("对角线之和:%d\n",sum);

system("PAUSE");
return 0;
}

头文件有错,数组么有定义和初始化、sum没有初始化
HeartWasNot 2011-05-04
  • 打赏
  • 举报
回复
还有注意n大小,不要超过矩阵元素个数。。不然出现越界。。。
HeartWasNot 2011-05-04
  • 打赏
  • 举报
回复
sum没有初始化。。应该sum = 0;

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧