练习65
来源:互联网 发布:汽油机的数据求效率 编辑:程序博客网 时间:2024/05/01 16:17
/********************************************************************************* 65. ( NOI'94.1_1 ) 键盘输入一个仅由小写字母组成的字符串,输出以该串中任 取M个字母的所有排列及排列总数。 *******************************************************************************/#include <stdio.h> #include <string.h> #include <malloc.h> char str[100];int m;int counter = 0;//生成排列 void combine(int *a,int n,int r){ if(r == 0) { int i; for(i=0; i<m; i++) printf("%c ",str[a[i]]); printf("/n"); counter ++; } else if(n >= r) { a[r-1] = n-1; combine(a,n-1,r-1); combine(a,n-1,r); }}void main(){ int n; int *a; printf("请输入一个字符串:/n"); if(!gets(str)) { printf("Input fail!/n"); return; } printf("m="); scanf("%d",&m); n = strlen(str); if(n<m) { printf("m不符合!/n"); return; } a = (int*)malloc(m*sizeof(int)); combine(a,n,m); printf("一共有%d种排法!/n",counter); free(a);}
- 练习65
- 练习65
- 【SICP练习】65 练习2.36
- 练习
- “++”“--”练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- 练习
- PortletSession与HttpServletSession间传值
- 夹缝中生存的中国(2)
- RTTI
- 练习76
- C#中读取数据库名,表名,列名
- 练习65
- sudo命令的补全(bash completion with sudo in Ubuntu8.04)
- 练习67
- 我的四年规划
- 禁止Adobe 8自动更新方法
- 递归实现任意两点可达路径
- 关于fctix使用的一点心得
- VS2005连接Mysql,SQL Server, Access,Oracle
- VFP全面控制EXCEL