急求一个C++-编的9*9的九宫格的程序,希望各位高手帮帮忙!在下在这里先行谢过啦!!! 50

 我来答
董俊锟djk
2012-06-04 · TA获得超过2551个赞
知道小有建树答主
回答量:1231
采纳率:66%
帮助的人:1018万
展开全部
#include<stdio.h>
#include<stdlib.h>
int place(int*);

void main(void){/*九宫图算法*/

int a[9]={1,2,3,4,5,6,7,8,9};

int b[9]={0};/*表示数字的位置状态*/

int j,k,i;

for(k=0;k<=3;k++){/*对于所有比5小的数*/

b[1]=a[k];/*选一比5小的数放到第一行第二列*/

for(j=8;j>=5;j--){/*对于所有比5大的数*/

if(k!=(8-j)){/*不选择前面已选小数所对应的大数*/

b[0]=a[j];/*选一比5大的数放到第一行第一列*/

if(place(b)){/*若得到一解,则打印出*/

printf("\n 九宫图\n\n");

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

printf(" %d ",b[i]);

if((i+1)%3==0){

printf("\n\n\n");
}

}

getchar();

exit(0);

}

} /* 回溯到上一级*/

} /*回溯到根一级 */

}

}

int place(int*p){ /*计算出其他位置的数字并检测是否为所求的解*/

p[2]=15-p[0]-p[1];

p[4]=5;

p[6]=10-p[2];

p[3]=15-p[0]-p[6];

p[5]=10-p[3];

p[7]=10-p[1];

p[8]=10-p[0];

if(p[2]+p[5]+p[8]==p[6]+p[7]+p[8]){/*其他行和列已通过计算检测了,只有第三行,第三列未检测*/

return(1);

}

else{

return(0);

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
0浮云追月0
2012-06-04 · TA获得超过266个赞
知道小有建树答主
回答量:159
采纳率:100%
帮助的人:101万
展开全部
网上找去吧,CSND上一大把,随便百度一下都有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友95b86d3
2012-06-04
知道答主
回答量:24
采纳率:0%
帮助的人:15.8万
展开全部
你这是九宫格啊,还是9*9的类似于九宫格的啊
追问
就是九宫格游戏的代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式