c语言程序设计给定一个矩阵运算,矩阵常用运算,c语言程序设计

呵呵,好巧,我在不久之前刚写过这道题。先给你看一下我的代码,我马上帮你改一下你的代码。

#include

#define n 100

void main()

{

int i,j;

int tag=0;

int a[n][n];

int num;

int w;

int k=1;

printf("输入数字(0~100): ");

scanf("%d",&num);

printf("\n");

w=num;

i=j=0;

while (k<=num*num)

{

tag++;

switch (tag)

{

case 1 :for (;j

j--; w--; break;

case 2 :for (i++;i<=w;i++) a[i][j]=k++;

i--; break;

case 3 :for(j--;j>=num-w-1;j--) a[i][j]=k++;

j++; w--; break;

case 4 :for(i--;i>=num-w-1;i--) a[i][j]=k++;

i++; j++; w++; break;

default : break;

}

if(tag==4) tag=0;

}

for (i=0;i

{

for (j=0;j

printf("%4d",a[i][j]);

printf("\n");

}

}

不行,你的程序不好改,一改就回到我的程序上了,建议还是用switch语句,如果不用switch语句,会引起重复赋值,要么就是数组越界。而用switch语句的好处是,通过flag(1个变量来判断方向),0的时候向右,1的时候向下,。。。。依此类推。。。很方便。如有不懂欢迎追问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值