用C语言编写,设计魔方阵
来源:网络收集 点击: 时间:2024-07-26打开visual C++ 6.0-文件-新建-文件-C++ Source File


定义数组和变量:
#includestdio.h
int main()
{
int i,j,x=1,y=3,a={0}; /*因为数组下标要用1到5,所以数组长度是6*/

给数组赋值:
for(i=1;i=25;i++)
{
a =i; /*将1到25所有数存到数组相应位置*/

判断:
if(x==1y==5)
{
x=x+1; /*当上一个数是第1行第五列时,下一个数放在它的下一行*/
continue; /*结束本次循环*/
}

计算数的位置:
if(x==1) /*当上一个数是是第1行时,则下一个数行数是5*/
x=5;
else
x--; /*否则行数减1*/
if(y==5) /*当上一个数列数是第5列时,则下一个数列数是1*/
y=1;
else
y++; /*否则列数加1*/
if(a!=0) /*判断经过上面步骤确定的位置上是否有非零数*/
{
x=x+2; /*表达式为真则行数加2列数减1*/
y=y-1;
}

将二维数组输出:
for(i=1;i=5;i++) /*将二维数组输出*/
{
for(j=1;j=5;j++)
{
printf(%4d,a);
}
printf(\n); /*每输出一行回车*/
}
return 0;

完整的源代码:
#includestdio.h
int main()
{
int i,j,x=1,y=3,a={0}; /*因为数组下标要用1到5,所以数组长度是6*/
for(i=1;i=25;i++)
{
a =i; /*将1到25所有数存到数组相应位置*/
if(x==1y==5)
{
x=x+1; /*当上一个数是第1行第五列时,下一个数放在它的下一行*/
continue; /*结束本次循环*/
}
if(x==1) /*当上一个数是是第1行时,则下一个数行数是5*/
x=5;
else
x--; /*否则行数减1*/
if(y==5) /*当上一个数列数是第5列时,则下一个数列数是1*/
y=1;
else
y++; /*否则列数加1*/
if(a!=0) /*判断经过上面步骤确定的位置上是否有非零数*/
{
x=x+2; /*表达式为真则行数加2列数减1*/
y=y-1;
}
}
for(i=1;i=5;i++) /*将二维数组输出*/
{
for(j=1;j=5;j++)
{
printf(%4d,a);
}
printf(\n); /*每输出一行回车*/
}
return 0;
}

版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_1013251.html