1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > c语言编写九宫格 关于九宫格的算法

c语言编写九宫格 关于九宫格的算法

时间:2022-09-05 18:34:05

相关推荐

c语言编写九宫格 关于九宫格的算法

该楼层疑似违规已被系统折叠隐藏此楼查看此楼

下面是正宗的九宫格(81个数字)但是仔细看会发现有错误

高手看到的话就改改在下谢谢了

#include"stdio.h"

#include"stdlib.h"

#include"conio.h"

createWindow(intleft,inttop,intwide,inthigh,inttextColor,intbackGrdColor)

{

inti,j;

textcolor(textColor);

textbackground(backGrdColor);

for(i=1;i<=high;i++)

{

for(j=1;j<=wide;j++)

{

if(i==1&&j==1)putch(201);

if(i==1&&j==wide)putch(187);

if(i==wide&&j==1)putch(200);

if(i==wide&&j==wide)putch(188);

if(i%6==1&&j%2!=1)putch(205);

if(j%6==1&&i%2!=1)putch(186);

if(i==1&&(j==7||j==13))putch(203);

if(i==wide&&(j==7||j==13))putch(202);

if(j==1&&(i==7||i==13))putch(204);

if(j==wide&&(i==7||i==13))putch(185);

if((i==7||i==13)&&(j==7||j==13))putch(206);

if(i==1&&j%6!=1&&j%2==1)putch(209);

if(i==wide&&j%6!=1&&j%2==1)putch(207);

if(j==1&&i%6!=1&&i%2==1)putch(199);

if(j==wide&&i%6!=1&&i%2==1)putch(182);

if(i%2!=1&&j%6!=1&&j%2==1)putch(179);

if(j%2!=1&&i%6!=1&&i%2==1)putch(196);

if((i==7||i==13)&&j%6!=1&&j%2==1)putch(216);

if((j==7||j==13)&&i%6!=1&&i%2==1)putch(215);

if(i%6!=1&&j%6!=1&&i%2==1&&j%2==1)putch(197);

if(i%2!=1&&j%2!=1)putch(32);

}

}

window(left+1,top+1,left+wide,top+high-1);

}

setdata(char*SDK,char*t)

{

inti,j,w,flag=9;

charr,temp,data[9]={'1','2','3','4','5','6','7','8','9'};

randomize();

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

{

if(*(t+i)!=NULL)

{

flag--;

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

{

if(data[j]==*(t+i))

{

temp=data[j];

data[j]=data[flag];

data[flag]=temp;

break;

}

}

}

elsebreak;

}

*SDK=(data[random(flag)]);

}

main()

{

intp,u,i,j,g,k,w;

chartemp,SuDoKu[9][9]={NULL},hang[9],lie[9],xiao[9],allelement[27];

clrscr();

window(1,1,19,20);

clrscr();

createWindow(1,1,19,19,WHITE,BLACK);

window(1,1,19,20);

for(p=0;p<=8;p++)

{

for(u=0;u<=8;u++)

{

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

{

hang[i]=SuDoKu[p][i];

lie[i]=SuDoKu[i][u];

}

if(p>=0&&p<=2)

{

if(u>=0&&u<=2)for(j=0;j<=2;j++)for(g=0;g<=2;g++)

xiao[j*3+g]=SuDoKu[j][g];

if(u>=3&&u<=5)for(j=0;j<=2;j++)for(g=3;g<=5;g++)

xiao[j*3+g-3]=SuDoKu[j][g];

if(u>=6&&u<=8)for(j=0;j<=2;j++)for(g=6;g<=8;g++)

xiao[j*3+g-6]=SuDoKu[j][g];

}

if(p>=3&&p<=5)

{

if(u>=0&&u<=2)for(j=3;j<=5;j++)for(g=0;g<=2;g++)

xiao[j*3+g-9]=SuDoKu[j][g];

if(u>=3&&u<=5)for(j=3;j<=5;j++)for(g=3;g<=5;g++)

xiao[j*3+g-12]=SuDoKu[j][g];

if(u>=6&&u<=8)for(j=3;j<=5;j++)for(g=6;g<=8;g++)

xiao[j*3+g-15]=SuDoKu[j][g];

}

if(p>=6&&p<=8)

{

if(u>=0&&u<=2)for(j=6;j<=8;j++)for(g=0;g<=2;g++)

xiao[j*3+g-18]=SuDoKu[j][g];

if(u>=3&&u<=5)for(j=6;j<=8;j++)for(g=3;g<=5;g++)

xiao[j*3+g-21]=SuDoKu[j][g];

if(u>=6&&u<=8)for(j=6;j<=8;j++)for(g=6;g<=8;g++)

xiao[j*3+g-24]=SuDoKu[j][g];

}

for(w=0;w<=26;w++)

{

if(w<=8)allelement[w]=hang[w];

if(w>=9&&w<=17)allelement[w]=lie[w-9];

if(w>=18)allelement[w]=xiao[w-18];

}

for(w=0;w<=26;w++)

{

if(allelement[w]!=NULL)

{

for(k=0;k<=w-1;k++)

{

if(allelement[w]==allelement[k])allelement[w]=NULL;

}

}

}

for(w=26;w>=0;w--)

{

for(k=0;k<=w-1;k++)

{

if(allelement[k]==NULL&&allelement[k+1]!=NULL)

{

temp=allelement[k];

allelement[k]=allelement[k+1];

allelement[k+1]=temp;

}

}

}

setdata(&SuDoKu[p][u],allelement);

}

}

for(p=0;p<=8;p++)

{

for(u=0;u<=8;u++)

{

gotoxy(2*(u+1),2*(p+1));

cprintf("%c",SuDoKu[p][u]);

}

}

}

注意程序通过调试但是有BUG高手来挑战啊

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。