超简单的组合排列问题
2007-12-10 12:35
344 查看
#include "stdio.h"
#include"stdlib.h"
int count = 0;
int size(char *a)
{
int i=0;
while(a[i]!='/0'){
i++;
}
return i;
}
void deal(char *a, int m, int n)
{
int i;
char t;
if (m<n-1) {
deal(a, m+1, n);
for (i=m+1;i<n;i++) {
t=a[m]; a[m]=a[i]; a[i]=t;
deal(a, m+1, n);
t=a[m]; a[m]=a[i]; a[i]=t;
}
} else
{
count++;
printf("%s/t",a);
}
}
void main()
{
int i;
char *a;
a = (char *) malloc(sizeof(char));
printf("input a string:(Enter to stop)");
gets(a);
i=size(a);
deal(a,0,i);
printf("%d/n",count);
}
#include"stdlib.h"
int count = 0;
int size(char *a)
{
int i=0;
while(a[i]!='/0'){
i++;
}
return i;
}
void deal(char *a, int m, int n)
{
int i;
char t;
if (m<n-1) {
deal(a, m+1, n);
for (i=m+1;i<n;i++) {
t=a[m]; a[m]=a[i]; a[i]=t;
deal(a, m+1, n);
t=a[m]; a[m]=a[i]; a[i]=t;
}
} else
{
count++;
printf("%s/t",a);
}
}
void main()
{
int i;
char *a;
a = (char *) malloc(sizeof(char));
printf("input a string:(Enter to stop)");
gets(a);
i=size(a);
deal(a,0,i);
printf("%d/n",count);
}
相关文章推荐
- ACM学习历程20——竞赛中的简单数学问题之最大公约数、素数表、排列组合数
- 一些简单的排列组合问题
- 数组排列组合问题——BACKTRACKING
- 字符串排列和组合的问题
- 小球的排列组合问题
- 字符串的排列组合问题
- 全排列和全组合问题
- 排列组合问题
- Java解决排列组合问题——深度优先遍历
- LeetCode排列组合问题合集
- 多校联合练习赛1 Problem 1003 Partition 排列组合问题
- (step7.2.3)hdu 2554(N对数的排列问题——简单数论)
- 《剑指offer》刷题笔记(分解让复杂问题简单):字符串的排列
- 排列组合问题
- 字符的全排列与组合问题总结
- 排列组合问题
- PHP实现的简单排列组合算法应用示例
- 组合数学中简单格路问题
- 有关多重集合的排列和组合问题
- 初等代数(2):不等式、数列与简单级数、阶乘、排列组合、二项式与多项式