程序员面试题001.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序员面试题001

先发第一题. 1写出尽可能多的包含1-9 这9个数的魔方阵的 算法 我写的全排列,可是有问题,帮忙改一下. 其他算法等下在写 main() { int a[3][3] = {0}; int b[9] = {0}; int m,n; int i,j; int Count = 0; int k; for(b[0] = 1;b[0] 9; b[0]++) for(b[1] = 1;b[1] 9; b[1]++) for(b[2] = 1;b[2] 9; b[2]++) for(b[3] = 1;b[3] 9; b[3]++) for(b[4] = 1;b[4] 9; b[4]++) for(b[5] = 1;b[5] 9; b[5]++) for(b[6] = 1;b[6] 9; b[6]++) for(b[7] = 1;b[7] 9; b[7]++) for(b[8] = 1;b[8] 9; b[8]++) { for(m = 0;m 9;m++) for(n = m + 1;n 9;n++) { if(b[m] != b[n]) Count++; } if(Count == 36) { for(i = 0;i 3;i++) for(j = 0;j 3;j++) for(k = 0;k 9;k++) a[i][j] = b[k]; if(a[0][0] + a[0][1] + a[0][2] == 15) if(a[1][0] + a[1][1] + a[1][2] == 15) if(a[2][0] + a[2][1] + a[2][2] == 15) if(a[0][0] + a[1][0] + a[2][0] == 15) if(a[0][1] + a[1][1] + a[2][1] == 15) if(a[0][2] + a[1][2] + a[2][2] == 15) if(a[0][0] + a[1][1] + a[2][2] == 15) if(a[2][0] + a[1][1] + a[0][2] == 15) { for(i = 0;i 3;i++) { for(j = 0;j 3;j++) { printf(%d ,a[i][j]); } printf(\n); } } } } getch(); } 9 回复:公司发给我的笔试题目,需要大家帮忙 第一题,只修改你的错误,没有进行算法与效率改进.程序执行完毕要几分钟时间的. 下午忙,晚上写一个第一题的高效的程序. 另,第一题要输入全部解,还是只输出一个解? 改正你的1L程序如下: main() { int a[3][3] = {0}; int b[9] = {0}; int m,n; int i,j; int Count = 0; int k; for(b[0] = 1;b[0] = 9; b[0]++) /*添加一个等号,下同*/ for(b[1] = 1;b[1] = 9; b[1]++) for(b[2] = 1;b[2] = 9; b[2]++) for(b[3] = 1;b[3] = 9; b[3]++) for(b[4] = 1;b[4] = 9; b[4]++) for(b[5] = 1;b[5] = 9; b[5]++) for(b[6] = 1;b[6] = 9; b[6]++) for(b[7] = 1;b[7] = 9; b[7]++)

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档