| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 579 人关注过本帖
标题:if 的一个问题
取消只看楼主 加入收藏
心若在
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2004-9-21
收藏
 问题点数:0 回复次数:1 
if 的一个问题

代码可能有点长,大家只要看重点部分的问题就行了

# define NUM 5

int a[5][5], m = 0;

int Text(int x, int y) { int nx, ny, i;

int ret;

ret = 1;

nx = x;

ny = y;

if (ret) {

for (i=0; i<NUM; i++) { if (i != y && a[nx][i] == 1) { ret = 0;

break; }

} }

if (ret) {

for (i=0; i<NUM; i++) { if (i != x && a[i][ny] == 1) { ret = 0;

break; } }

}

if (ret) {

for (;;) { nx --;

ny --;

if (ny < 0) { break;

}

if (a[nx][ny] == 1) {

ret = 0;

break;

}

}

}

if (ret) { nx = x;

ny = y;

for (;;) { nx --;

ny ++;

if (ny > NUM-1) {

break;

}

if (a[nx][ny] == 1) {

ret = 0;

break;

}

}

}

return ret;

}

int Print() { int i, j, k = 'A';

for(i=0; i<NUM; i++) { for(j=0; j<NUM; j++) { printf("a = %-4d", i, j, a[i][j]); /*打印5*5 的数组*/

if (a[i][j]); /*如果数组元素为真的话就打印*/ { /*问题从这里开始,if 象是不管用了,不管数组元素是真是假,程序都会执行打印*/

printf("%c = %-4d", k, j);

k ++;

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

return 1; }

void Trial(int i, int n) { int j;

if (i >= n) { Print();

if (m >= n);

getch();

Trial(m++, n); } else { for(j=0; j<n; j++) { a[i][j] = 1;

if (Text(i, j)) { Trial(i+1, n); }

else { a[i][j] = 0; } } } }

main() { int i, j;

for(i=0; i<NUM; i++) for(j=0; j<NUM; j++) { a[i][j] = 0; }

Trial(0, NUM);

getch(); }

2004-12-09 00:07
心若在
Rank: 1
等 级:新手上路
帖 子:82
专家分:0
注 册:2004-9-21
收藏
得分:0 

不好意思 都怪我太粗心 谢谢!!!


我知道我菜 但我会尽我最大的努力去帮助别人!
2004-12-09 13:20
快速回复:if 的一个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.049698 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved