c语言输出蛇形矩阵程序,用C语言输出一个N阶蛇形矩阵,看看这个程序哪里错了...

又仔细看了一遍你的代码  DEBUG了一下  发现你是先输出左上半的元素然后计算右半部的 直接顺序输出数组 乍一看是没问题的 但是你忽略的是 输出的前提是必须先计算好值 你遍历输出到第2行第一个右半部分的元素的时候 这个元素还没有开始计算呢 而在你的程序里并没有察觉到这点而是直接输出了  所以那里就是0了  其他0元素也是这样 在被计算之前就输出了

避免你说的问题 你可以把输出挪出刚开始用来赋值的两个FOR循环即可

直接修改你的代码

#include 

#define SIZE 80

int a[SIZE][SIZE];

void main()

{int p,q;int n;

printf("输入蛇形数组的维数:");

scanf("%d",&n);

for(p = 0; p 

{

for(q = 0; q 

{

if((p + q) 

{

a[p][q] = (p + q) * (p + q + 1) / 2 + 1;

if((p + q) % 2)

a[p][q] += q;

else

a[p][q] += p;

a[n-1-p][n-1-q]=n*n+1-a[p][q];

}

}

}

for(p = 0; p 

{

for(q = 0; q 

printf("\n\n");

}

getchar();getchar();

}

经过编译完全OK

91392d7f9a084667dcd81398f21c5d55.png

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值