回 帖 发 新 帖 刷新版面

主题:菜鸟求助

[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个回复)

沙发

i,j,k分别代表什么?最好加上注释,易于理解。再有要求是三位数字在哪呢,最起码有个数组吧..

板凳

语言错误 加群 65806016   为你解答

3 楼

你要统计的是个十百位都不同的三位数的个数是吗?如果是的话,那你这句就应该printf("%d%d%d\n",i,j,k); 删掉。还有如果是所有三位数的话,那j和k不是应该从零开始而且小于9的吗?

4 楼

[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 楼

你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]
要细心!

我来回复

您尚未登录,请登录后再回复。点此登录或注册