输出一个n*n的矩阵,并且算出对角线元素总和

#include<stdio.h>
int main()
{
 int n,i,k,j,sum1,sum2,x,sum,y=0;
 scanf("%d",&n);
 for(i=1;i<=n;i++){
  for(j=1;j<=n;j++){
   printf("%d\t",ij);
   k++;
   if(k%n==0){
    printf("\n");
   }
  }
 }
 for(y=1;y<=n;y++){
  sum1+=y
y;
  for(x=1;x<=n;x++,n--){
   sum2+=x*n;
  }
 }
 sum=sum1+sum2;
 printf("sum=%d\n",sum);
 return 0;
}
(我的运行它好像那个矩阵都不对齐,然后呢sum好像是个定值了,我不知道为什么)

把六七行的for循环改为for(... = 0; ... < n; ...++)
16行yy改为y*y
就行了
sum本来就是定值啊,每次运行都是同一个矩阵

能不能发下完整代码

int n,i,k,j,sum1,sum2,x,sum,y=0; 这里 sum1 sum2 未初始化,修改为: int n,i,k,j,sum1=0,sum2=0,x,sum,y=0;
题主的算法存在问题的。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^