当前位置: 代码迷 >> C语言 >> [求助]有点不太明白
  详细解决方案

[求助]有点不太明白

热度:147   发布时间:2006-04-03 17:03:00.0
[求助]有点不太明白

编一个程序,要求输出所有满足abc+cba=1333的a,b,c的值,其中的a,b,c
都是一位数字.
main()
{
int a,b,c;
for(a=1;a<=9;a++)
for(b=1;b<=9;b++)
{
if(a==b)continue; /*为什么这里要用一个if语句来判断a=b呢?*/

for(c=1;c<=9;c++)
{
if((a==c)||(b==c))continue; /*还有这里!*/

if((a*100+b*10+c)+(c*100+b*10+a)==1333)
printf("%d%d%d\n",a,b,c);
}
}

getch();
}
上面的程序有点改动;和书上的不太一样了!



下面是我自己编写的,也可以正确输出结果.那么最上面的程序有会么好处呢?
main()
{
int a,b,c;
for(a=1;a<=9;a++)
{
for(b=1;b<=9;b++)
{
for(c=1;c<=9;c++)
{
if(101*a+20*b+101*c==1333)
printf("%d%d%d\n",a,b,c);
}
}
}
getch();
}
谢了!

搜索更多相关的解决方案: continue  color  

----------------解决方案--------------------------------------------------------
减少一些不必要的计算
----------------解决方案--------------------------------------------------------
你的意思:不可能a,b,c三个数相等是吗?
----------------解决方案--------------------------------------------------------
如果abc3个数相等的话就意味着1333能被2整除!
----------------解决方案--------------------------------------------------------


明白了
谢谢二楼三楼的朋友了



----------------解决方案--------------------------------------------------------
错了

是二楼四楼的朋友

不好意思啊
----------------解决方案--------------------------------------------------------
  相关解决方案