当前位置:编程学习 > C/C++ >>

问题一百一十七:排列

[plain]  Description 
 
有4个互不相同的数字,输出由其中三个不重复数字组成的排列。  
 
Input 
 
4个整数,已经从小到大排列。 
 
Output 
 
输出所有排列,输出格式见样例 
 
Sample Input 
 
 
1 2 3 4 
 
Sample Output 
 
 
1 2 3 
1 3 2 
2 1 3 
2 3 1 
3 1 2 
3 2 1 
1 2 4 
1 4 2 
2 1 4 
2 4 1 
4 1 2 
4 2 1 
1 3 4 
1 4 3 
3 1 4 
3 4 1 
4 1 3 
4 3 1 
2 3 4 
2 4 3 
3 2 4 
3 4 2 
4 2 3 
4 3 2 

Description

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

Input

4个整数,已经从小到大排列。

Output

输出所有排列,输出格式见样例

Sample Input


1 2 3 4

Sample Output


1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
1 2 4
1 4 2
2 1 4
2 4 1
4 1 2
4 2 1
1 3 4
1 4 3
3 1 4
3 4 1
4 1 3
4 3 1
2 3 4
2 4 3
3 2 4
3 4 2
4 2 3
4 3 2
 


[plain]  #include <stdio.h> 
 
int main() 
{     
     int i; 
     int j; 
     int k; 
     int num[4]; 
 
     for(i=0; i<4; i++) 
     { 
        scanf("%d", &num[i]); 
     } 
 
     for(i=0; i<4; i++) 
     { 
         for(j=0; j<4; j++) 
         { 
             for(k=0; k<4; k++) 
             { 
                 if(i!=j && i!=k && j!=k && i!=3 && j!=3 && k!=3 ) 
                 { 
                    printf("%d %d %d\n", num[i], num[j], num[k]); 
                 } 
             } 
         } 
     } 
      
     for(i=0; i<4; i++) 
     { 
         for(j=0; j<4; j++) 
         { 
             for(k=0; k<4; k++) 
             { 
                 if(i!=j && i!=k && j!=k && i!=2 && j!=2 && k!=2 ) 
                 { 
                    printf("%d %d %d\n", num[i], num[j], num[k]); 
                 } 
             } 
         } 
     } 
 
     for(i=0; i<4; i++) 
     { 
         for(j=0; j<4; j++) 
         { 
             for(k=0; k<4; k++) 
             { 
                 if(i!=j && i!=k && j!=k && i!=1 && j!=1 && k!=1 ) 
                 { 
                    printf("%d %d %d\n", num[i], num[j], num[k]); 
                 } 
             } 
         } 
     } 
 
     for(i=0; i<4; i++) 
     { 
         for(j=0; j<4; j++) 
         { 
             for(k=0; k<4; k++) 
             { 
                 if(i!=j && i!=k && j!=k && i!=0 && j!=0 && k!=0 ) 
                 { 
                    printf("%d %d %d\n", num[i], num[j], num[k]); 
                 } 
             } 
         } 
     } 
 
     return 0; 
}  

#include <stdio.h>

int main()
{   
  int i;
  int j;
  int k;
  int num[4];

  for(i=0; i<4; i++)
  {
     scanf("%d", &num[i]);
  }

  for(i=0; i<4; i++)
  {
      for(j=0; j<4; j++)
   {
       for(k=0; k<4; k++)
    {
        if(i!=j && i!=k && j!=k && i!=3 && j!=3 && k!=3 )
     {
        printf("%d %d %d\n", num[i], num[j], num[k]);
     }
    }
   }
  }
    

补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,