ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:31.82KB ,
资源ID:20783535      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20783535.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数独解题系统Word格式文档下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数独解题系统Word格式文档下载.docx

1、char choice; /void chushi(); /用于初始化void input(int a,int b,int c); /用于输入数据void xuan(); /用于判断是否继续输入void display1(); /用于显示题目void display2(); /用于显示void realdisplay(); /用于显示答案void ji(int a,int b,int c); /用于计算解题void failfind(); /用于无解void putin();void main() while (1) system(cls); cout nnnn;tt 数独系统 ntt=nnt

2、t 【1】初始化系统 ntt 【2】按要求输入题目 ntt 【3】显示题目 ntt 【4】显示答案 nntt 【0】退出本系统 nnt注:每次输入题目前 需初始化系统 显示过答案后 题目显示会出错nntt请选择: flush; choice = getch(); system( switch(choice) case 1: chushi();/用于初始化 break;2 putin(); /input();/用于输入数据3 display1();/用于显示题目4 display2();/显示答案0 exit(0); void chushi()/初始化数据 for(i=0;i9;i+) for(

3、j=0;jj+) NUMij=0; for(k=0;k10;k+) numij.qk=k; /标记前项位置 if(j!=0) numij.H = i; numij.L = j-1; else numij.H = i-1; numij.L = 8;void putin() int a,b; cout依次输入已知项 0代表空n/* NUM00=5;NUM01=0;NUM02=0; NUM03=0;NUM04=0;NUM05=0; NUM06=3;NUM07=0;NUM08=0; NUM10=0;NUM11=9;NUM12=0; NUM13=5;NUM14=0;NUM15=0; NUM16=4;NU

4、M17=0;NUM18=0; NUM20=0;NUM21=0;NUM22=4; NUM23=0;NUM24=0;NUM25=0; NUM26=7;NUM27=0;NUM28=0; NUM30=0;NUM31=5;NUM32=1; NUM33=0;NUM34=3;NUM35=7; NUM36=2;NUM37=8;NUM38=9; NUM40=3;NUM41=0;NUM42=2; NUM43=0;NUM44=8;NUM45=0; NUM46=6;NUM47=0;NUM48=4; NUM50=0;NUM51=0;NUM52=8; NUM53=0;NUM54=5;NUM55=2; NUM56=1;NU

5、M57=3;NUM58=7; NUM60=0;NUM61=3;NUM62=5; NUM63=0;NUM64=0;NUM65=0; NUM66=9;NUM67=0;NUM68=0; NUM70=6;NUM71=0;NUM72=9; NUM73=0;NUM74=0;NUM75=0; NUM76=8;NUM77=2;NUM78=3; NUM80=0;NUM81=8;NUM82=0; NUM83=0;NUM84=2;NUM85=3; NUM86=0;NUM87=0;NUM88=6; display1();*/*测试用的题目*/ /* *测试题答案: * *5 1 6 2 7 4 3 9 8* *7 9

6、 3 5 6 8 4 1 2* *8 2 4 3 9 1 7 6 5* * * *4 5 1 6 3 7 2 8 9* *3 7 2 1 8 9 6 5 4* *9 6 8 4 5 2 1 3 7* *2 3 5 8 4 6 9 7 1* *6 4 9 7 1 5 8 2 3* *1 8 7 9 2 3 5 4 6* */ for(a=0;aa+) for(b=0;bNUMab; if(NUMab! input(a,b,NUMab);void input(int aa,int bb,int cc)/输入已知项 int a,b,c,temp; h=aa+1;l=bb+1;temp=cc;a=l;

7、 numh-1l-1.q0 = temp; /排除干扰数据 for(i=1; numh-1l-1.qi=0; numh-1i.qtemp=0; numil-1.qtemp=0; /记录已知项的后一项的位置 if(l != 9) b=h-1; c=l; else b=h; c=0; /重新标记已知项后一项的标记 for(i=h-1;i=0;i-) for(j=a-1;jj-) if(numij.q0 = 0) numbc.H = i; numbc.L = j; temp = 0; if(temp = 0) break; a=9;void display1()/用于显示题目 for(k=0; co

8、utNUMik; if(k+1)%3=0) cout| coutn if(i+1)%3=0) /*coutcouti+)/用于查看数据numik.q0(numik.H ,numik.L ) */flush; getch();void display2() ji(0,0,1);void realdisplay() /用于显示答案numij.q0; if(j+1)%3=0)| main();void ji(int a,int b,int c) int temp1=b,temp2=c,sign=0; int nineh,ninel,ninei,ninej;/记录九宫格的行列、循环 for(i=a;

9、for(j=temp1; if(numij.q0 = 0)/循环判断出该位是否有数字 for(k=temp2; if(numij.qk != 0) numij.q0 = k;sign=1; for(z=0;zz+) if(numij.q0 = numiz.q0 & z!=j)/与同列比较 k=k+1 ; numij.q0 = 0;sign=0; ji(i,j,k); if( z!=i & numij.q0 = numzj.q0)/与同行比较 nineh = i-(i%3);ninel = j-(j%3);/获取该九宫格第一个空格的坐标 for(ninei=0;ninei3;ninei+)/用于

10、判断九宫格内 for(ninej=0;ninejninej+) if(numnineh+nineininel+ninej.q0 = numij.q0 & nineh+ninei != i & ninel+ninej !=j) k=k+1 ; numij.q0 = 0; ji(i,j,k); break; if(sign=1) if(j!=8) ji(i,j+1,1); else ji(i+1,0,1); /回到前项空格计算 if(numij.H 0) failfind();/无解 k = numnumij.Hnumij.L.q0+1; numnumij.Hnumij.L.q0 = 0; ji(numij.H ,numij.L ,k); temp2=1; temp1 = 0;temp2=1; realdisplay();void failfind()无解截图:菜单:输入: 显示题目:显示答案:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1