魔法阵c语言课程设计,3*3魔法阵

今天是我第一次发表学习心得,记录下自己的学习,也希望能够向先辈们多多学习。看到那些牛人的文章,总是羡慕人家。最近我学习C语言程序这门课,我想把我做过的一个小程序发表出来,希望大家能够给我提供一些更好的建议,请多多指教。

这两天我一直在想C语言程序设计课本上的7.7 那道课后习题,我现在用最笨的方法实现了3*3的魔法阵。代码如下:

#include

void main()

{

int a[3][3];

int i,j,i1,i2,i3,i4,i5,i6,i7,i8,i9,t1,t2,t3,t4,t5,t6,t7,t8;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

a[i][j]=0;

for(i1=1;i1<=9;i1++)

{

a[0][0]=i1;

for(i2=1;i2<=9;i2++)

{

if(i2==i1)continue;

else

a[0][1]=i2;

for(i3=1;i3<=9;i3++)

{

if(i3==i1||i3==i2)continue;

else

a[0][2]=i3;

for(i4=1;i4<=9;i4++)

{

if(i4==i1||i4==i2||i4==i3)continue;

else

a[1][0]=i4;

for(i5=1;i5<=9;i5++)

{

if(i5==i1||i5==i2||i5==i3||i5==i4)continue;

else

a[1][1]=i5;

for(i6=1;i6<=9;i6++)

{

if(i6==i1||i6==i2||i6==i3||i6==i4||i6==i5)continue;

else

a[1][2]=i6;

for(i7=1;i7<=9;i7++)

{

if(i7==i1||i7==i2||i7==i3||i7==i4||i7==i5||i7==i6)continue;

else

a[2][0]=i7;

for(i8=1;i8<=9;i8++)

{

if(i8==i1||i8==i2||i8==i3||i8==i4||i8==i5||i8==i6||i8==i7)continue;

else

a[2][1]=i8;

for(i9=1;i9<=9;i9++)

{

if(i9==i1||i9==i2||i9==i3||i9==i4||i9==i5||i9==i6||i9==i7||i9==i8)continue;

else

a[2][2]=i9;

t1=a[0][0]+a[0][1]+a[0][2];

t2=a[1][0]+a[1][1]+a[1][2];

t3=a[2][0]+a[2][1]+a[2][2];

t4=a[0][0]+a[1][0]+a[2][0];

t5=a[0][1]+a[1][1]+a[2][1];

t6=a[0][2]+a[1][2]+a[2][2];

t7=a[0][0]+a[1][1]+a[2][2];

t8=a[0][2]+a[1][1]+a[2][0];

if(t1==t2&&t1==t3&&t1==t4&&t1==t5&&t1==t6&&t1==t7&&t1==t8)

{

printf("*******************\n");

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

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

printf("\n");

if(i==2)printf("*******************\n");

}

}

}

}

}

}

}

}

}

}

}

}

运行的结果是:

0818b9ca8b590ca3270a3433284dd417.png

这个方法很笨吧,嘻嘻,我会再花些时间把上面的代码完善,到那时再来跟大家分享下。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值