Chinaunix首页 | 论坛 | 博客
  • 博客访问: 459242
  • 博文数量: 118
  • 博客积分: 4015
  • 博客等级: 上校
  • 技术积分: 1233
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-24 22:11
文章分类

全部博文(118)

文章存档

2013年(5)

2011年(61)

2010年(52)

分类: C/C++

2011-11-04 21:01:34

  1. #include<stdio.h>
  2. #define MAX 10
  3. int delpo(int * po);
  4. int rm(int * p ,int i, int n);
  5. int cmb(int * pi,int * po, int n);
  6. int myprintf(int * p);
  7. int add(int * p, int d);
  8. int ins(int *p , int i , int d,int n);
  9. int main(){
  10.   printf("Enter n:");
  11.   int n;
  12.   scanf("%d",&n);
  13.   int p[MAX];
  14.   int po[MAX];
  15.   for(int j = 0; j < MAX; j++){
  16.     po[j] = 0;
  17.   }
  18.   for(int i = 0; i < n; i ++){
  19.     p[i] = i + 1;
  20.   }
  21.   cmb(p,po,n);
  22.   return 0;
  23. }
  24. int cmb(int * pi,int * po, int n){
  25.   if(n == 1){
  26.     add(po,pi[0]);
  27.     myprintf(po);
  28.     delpo(po);
  29.     return 0;
  30.   }else{
  31.     for(int i = 0;i < n; i++){
  32.      /* printf("%d ",pi[i]);
  33.       int t = rm(pi,i,n);
  34.       cmb(pi,n - 1);
  35.       ins(pi,i,t,n);
  36.       */
  37.       add(po,pi[i]);
  38.       int t = rm(pi,i,n);
  39.       cmb(pi,po,n - 1);
  40.       delpo(po);
  41.       ins(pi,i,t,n);

  42.     }
  43.     return 0;
  44.   }
  45. }
  46. int add(int * p, int d){
  47.   int i = 0;
  48.   while(p[i] != 0){
  49.    i++;
  50.   }
  51.   p[i] = d;
  52.   return 0;

  53. }
  54. int myprintf(int * p){
  55.   int i = 0;
  56.   do{
  57.     printf("%d ",p[i]);
  58.   }while(p[++i] != 0);
  59.   printf("\n");
  60.   return 0;
  61. }
  62. int rm(int * p ,int i, int n){
  63.   int t = p[i];
  64.   for(int j = i; j < n - 1; j++){
  65.     p[j] = p[j + 1];
  66.   }
  67.   return t;
  68. }
  69. int delpo(int * po){
  70.   int i = 0;
  71.   while(po[i] != 0){
  72.     i ++;
  73.   }
  74.   po[i - 1] = 0;
  75.   return 0;
  76. }
  77. int ins(int *p , int i , int d,int n){
  78.   for(int j = n; j >=i; j--){
  79.     p[j+1] = p[j];
  80.   }

  81.   p[i] = d;
  82.   return 0;
  83. }

阅读(1766) | 评论(0) | 转发(0) |
0

上一篇:php string <<< 赋值

下一篇:OpenSUSE latex 安装

给主人留下些什么吧!~~