1024-web1 发表于 2020-4-8 23:34:22

有4个互不相同的数字,输出由其中三个不重复数字组成的排列。累死我了

#include<stdio.h>
void main()
{
        int x, i = 0, j, k, t;
        int a;
        scanf_s("%d", &x);
        while (x) {
                a = x % 10;
                i++;
                x = x / 10;
        }
        for (i = 0; i < 4; i++) {
                for (j = 0; j < 4; j++) {
                        if (i != j) {
                                for (k = 0; k < 4; k++) {
                                        if (k != i && k != j) {
                                                for (t = 0; t < 4; t++) {
                                                        if (t != i && t != j && t != k) {
                                                                printf("%d%d%d\n", a, a, a);
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }
}
#include<stdio.h>
intmain(void)
{
        int i, j, k, t;
        int a;
        scanf_s("%d %d %d %d", &a, &a, &a, &a);
        for (i = 0; i < 4; i++) {
                for (j = 0; j < 4; j++) {
                        if (i != j) {
                                for (k = 0; k < 4; k++) {
                                        if (k != i && k != j) {
                                                printf("%d %d %d\n", a, a, a);
                                                for (t = 0; t < 4; t++) {
                                                        if (t != i && t != j && t != k) {
                                                                printf("%d %d %d\n", a, a, a);
                                                        }
                                                }
                                        }
                                }
                        }
                }
        }
        return 0;
}

#include<stdio.h>
int main(void)
{
        int i, j, k,t;
        int a;
        scanf_s("%d %d %d %d", &a, &a, &a, &a);
       for(i=3;i>=0;i--){
      for(j=0;j<4;j++){
            if(i!=j){
                for(k=0;k<4;k++){
                  if(k!=i&&k!=j){
                        for(t=0;t<4;t++){
                            if(t!=i&&t!=j&&t!=k){
                              printf("%d%d%d\n",a,a,a);
                            }
                        }
                  }
                }
            }
      }
    }

        return 0;
}
*/

howzyao 发表于 2020-4-9 06:52:12

遍历一个数组,不用多层循环,对所有人都有好处,你自己看着这个,不晕吗?
或者指出更有意义的二维数组名称比如:行和列,年龄和编号,等等。然后循环体首行,也注释循环的意义,这样,我们大家就都愿意看帖了。
页: [1]
查看完整版本: 有4个互不相同的数字,输出由其中三个不重复数字组成的排列。累死我了