您的位置 首页 元件

DEV C++九宫格的解法源程序

下面是源码VS2010坏了还没来得及重装用DEV-C++弄的,注释我写的很详细,因为E文很烂所以变量名很有中国特色,求理解inc

下面是源码VS2010坏了还没来得及重装用DEVC++++弄的,注释我写的很具体,由于E文很烂所以变量名很有中国特色,求了解……………..

#include
#include
////////////////////////////////////////////////////////////////////////////////
int main(int argc, char *argv[])
{
int x=0; //行
int y=0; //列
int q=1; //循环符号
int sz;
int shuru; //输入九宫格的队伍数有必要为>3的奇数
//判别输入值是否正确
for(;q;)
{
printf(“请输入要生成的九宫格的队伍数:”);
scanf(“%d”,&shuru);
if(shuru<=3||shuru>=100) printf(“输入的队伍数过大或过小,请从头输入!”);
else if(shuru%2==0) printf(“您输入的不是一个奇数,请输入一个奇数!”);
else q=0;
}
int Gsz[shuru][shuru]; //九宫格布局数组
for(y=0;y for(x=0;x Gsz[y][x]=0; //九宫格布局数组初始化
///////////////////////////////////////////////////////////////////////////////
x=0;
y=0;
int s=1;
//榜首步
//首先在榜首行中心写下1
x=(shuru-1)/2;
Gsz[y][x]=s;
s++;
for(q=1;q==1;)
{
//程序要害转向处
if(y==0&&x==(shuru-1))
{
y++;
Gsz[y][x]=s;
s++;
y=0;
x=0;
Gsz[y][x]=s;
s++;
q=0;
}else
{
//然后向下移动到最底下,向右移一格写
y=shuru-1;
x++;
Gsz[y][x]=s;
s++;
//然后一下向右上方写到最边处
for(;x<(shuru-1);)
{
y–;
x++;
Gsz[y][x]=s;
s++;
}
//然后平移到最左面,向上移动一格写
y–;
x=0;
Gsz[y][x]=s;
s++;
//向右上方写。遇到数字后向下写
y–;
x++;
for(;Gsz[y][x]==0;)
{
Gsz[y][x]=s;
s++;
y–;
x++;
}
y++;x–; //复原循环最终一次的无效数值改变
//向下写一格
y++;
Gsz[y][x]=s;
s++;
//持续向右上写直到最边处
for(;y>0;)
{
y–;
x++;
Gsz[y][x]=s;
s++;
}
}
}
//第二步
for(;s<(shuru*shuru);)
{
//向下移动到最底下,向右移一格写
y=shuru-1;
x++;
Gsz[y][x]=s;
s++;
//向右上方写。遇到数字后向下写
y–;
x++;
for(;Gsz[y][x]==0;)
{
Gsz[y][x]=s;
s++;
y–;
x++;
}
y++;x–; //复原循环最终一次的无效数值改变
//向下写一格
y++;
Gsz[y][x]=s;
s++;
//持续向右上写直到最边处
for(;x<(shuru-1);)
{
y–;
x++;
Gsz[y][x]=s;
s++;
}
//然后平移到最左面,向上移动一格写
y–;
x=0;
Gsz[y][x]=s;
s++;
//持续向右上写直到最边处
for(;y>0;)
{
y–;
x++;
Gsz[y][x]=s;
s++;
}
}
Gsz[(shuru-1)][(shuru-1)/2]=s; //写最终一个数值
////////////////////////////////////////////////////////////////////////////////
int ax=0;
//屏幕输出
for(y=0;y {
for(x=0;x {
printf(“%d”,Gsz[y][x]);
if(Gsz[y][x]<=9) printf(" ");
else printf(” “);
}
for(q=0;q printf(” 此列和为:%d”,ax );ax=0;
printf(“”);
}
for(x=0,y=0,ax=0;y printf(“斜角1的和为:%d”,ax);
for(x=shuru-1,y=0,ax=0;y printf(“斜角2的和为:%d”,ax);
printf(“”);
system(“PAUSE”);
return 0;
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/yuanjian/317263.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部