主题:菜鸟求助
Heart→M鹏
[专家分:0] 发布于 2011-07-18 13:20:00
[code=c]
#include<stdio.h>
main(){
int i, j, k, m=0;
for(i=1; i<5; i++)
for(j=1; j<5; j++)
for(k=1; k<5; k++)
{
if(i!=j&&j!=k&&k!=i)
printf("%d%d%d\n",i,j,k);
m++;
}
printf("%d\n",m);
getchar();
}
[/code]
我想把个位十位百位不通的三位数个数统计出来,可是为什么输出的所有的三位数呢?
回复列表 (共5个回复)
沙发
dishui89 [专家分:0] 发布于 2011-07-18 16:41:00
i,j,k分别代表什么?最好加上注释,易于理解。再有要求是三位数字在哪呢,最起码有个数组吧..
板凳
wanxiang5623 [专家分:0] 发布于 2011-07-18 23:16:00
语言错误 加群 65806016 为你解答
3 楼
412133919 [专家分:0] 发布于 2011-07-19 11:26:00
你要统计的是个十百位都不同的三位数的个数是吗?如果是的话,那你这句就应该printf("%d%d%d\n",i,j,k); 删掉。还有如果是所有三位数的话,那j和k不是应该从零开始而且小于9的吗?
4 楼
windy0will [专家分:2300] 发布于 2011-07-19 11:50:00
[quote]
for(k=1; k<5; k++)
{
if(i!=j&&j!=k&&k!=i)
printf("%d%d%d\n",i,j,k);
m++;
}[/quote]
应该是if 语句那里掉了花括号,
if (i!=j && j!=k && k!=i)
{
printf ("%d%d%d\n", i, j, k);
m++;
}
5 楼
f34355281 [专家分:50] 发布于 2011-07-21 21:08:00
你if语句那里有问题,
[code=c]
if(i!=j&&j!=k&&k!=i)
printf("%d%d%d\n",i,j,k);
m++;
[/code]
这条语句应该改为
[code=c]
if(i!=j&&j!=k&&k!=i)
{
printf("%d%d%d\n",i,j,k);
m++;
}
[/code]
要细心!
我来回复