这个问题用c语言怎么写

img

循环遍历就行

#include <stdio.h>
int main(void) {

    //输出符合条件的数
    int a, b, c;
    int number = 0;
    int count = 0;

    for (a = 4; a >=1 ; a--) {                //控制百位

        for ( b = 4 ; b >=1; b--) {          //控制十位

            for( c = 4 ; c >=1 ; c--){      //控制个位

                number = 100 * a + 10 * b + c;

                if (a!=b && a!=c && b!=c ) {   //排除重复的数字
                    printf("%4d",number);
                    count++;
                }
            }
        }
    }


    //输出个数
    printf("一共有%d个数\n", count);
    return 0 ;
}

img

有帮助望采纳

#include <stdio.h>
int main()
{
    int i, j, k;
    int count = 0;
    printf("\n");
    for (i = 4; i >= 1; i--)
        for (j = 4; j >= 1; j--)
            for (k = 4; k >= 1; k--)
            {
                if (i != k && i != j && j != k) /*确保i、j、k三位互不相同*/
                    count++;
                printf("%d%d%d\n", i, j, k);
            }
    printf("count = %d", count);
    return 0;
}

你好,同学,无需重复遍历判断,只需要知道大小即可!

#include <stdio.h>
int main()
{
    int i, j, k, count;
    count = 0;
    for(i=4; i>=1; i--)for(j=i-1;j>=1;j--)for(k=j-1;k>=1;k--){
        printf("%d%d%d\n",i,j,k);
        count++;
    }
    printf("个数:%d",count);
    return 0;
}

img