C基础/指定长度的字符串排列问题
2012-04-04 20:42
316 查看
/* 指定长度的字符串排列问题 Time : 2012 4 4 20:22 Author : C */ #include<stdio.h> #include<string.h> #include<stdlib.h> #define max 100 static char s[max],c[max],t[max][max],a[max]; static int length,judge,number=0,j=0,count=0; static bool v[max]; void DelDouble(); void DFS(char *s,int len); int main(); void print() { puts(" ●●●●●● "); puts(" ●全排列问题● "); puts(" ●●●●●● "); puts("请输入字符串:"); scanf("%s",s); puts("请选择是否剔除重复字符?"); puts("1: 剔除重复字符"); puts("2: 不剔除重复字符"); scanf("%d",&judge); if(judge == 1) DelDouble(); else strcpy(c,s); judge = 0; for(int i=0;c[i]!='\0';i++) v[i]=0; puts("处理后字符串:"); puts(c); puts("请输入排列长度:"); scanf("%d",&length); if(length > strlen(c)){ puts("输入有误 请重新输入 :"); memset(c,0,sizeof(c)); memset(s,0,sizeof(s)); main(); } puts("排列组合情况:"); DFS(c,length); } void out() { char tt[max][max]; int n=0,x; for(int i=0;i<count;i++) { for(x=0;x<n;x++) if(strcmp(tt[x],t[i])==0) break; if(x==n) strcpy(tt[n++],t[i]); } for(int i=0;i<n;i++) printf("%s\t",tt[i]); } void DelDouble() { int i,j,count=0; for(i=0;s[i]!='\0';i++) if(strchr(c,s[i])==NULL) c[count++]=s[i]; c[count]='\0'; } void DFS(char *s,int k) /*求全排列 组合*/ { int i; if(j!=length) { for(i=0;i<strlen(s);i++) if(v[i]==0) { v[i]=1; a[j]=s[i]; j++; DFS(s,k+1); v[i]=0; } }else{ a[j]='\0'; strcpy(t[count],a); count++; } j--; } int main() { print(); out(); }
相关文章推荐
- 问题求解,关于java随机生成指定长度的字符串
- 一个C#中截取指定长度字符串的方法(含盖半全角问题)
- JavaSE8基础 String matches 应用正则来判断字符串的长度是否在指定的范围内
- 一个C#中截取指定长度字符串的方法(含盖半全角问题)
- Oracle截取字符串去掉字段末尾指定长度的字符
- 字符串操作问题:查找给定字符串中,连续重复且长度最长的第一个子串
- 指定字符串长度的复制
- Aras innovator: 如何搜索指定长度的字符串
- HDU_2047——EOF字符串排序排列问题,递推
- 问题:求两个字符串的最长公共子串。 要求:输入两个字符串,输出它们的最长公共子串,包括长度。 设计: 设计一个类 String,包括一个 len(字符串长度)和字符串指针 s。另有如下成员函数: ·
- IntelliJ IDEA字符串常量长度太长的问题解决:constant string too long
- 关于打开现有项目时数据库连接配置遇到的问题 连接字符串中的数据源值指定未安装的SQL Server的实例。要解决此问题,可选择安装匹配的SQL Server实例或修改连接字符串中的数据源值
- angularjs如何在ng-repeat过程中控制字符串长度超过指定长度后面内容以省略号显示
- 记一次js中和php中的字符串长度计算截取的终极问题和完美解决方案
- JavaScript截取指定长度字符串点击可以展开全部代码
- 字符串指定间隔长度插入指定字符串
- 可见strings能输出文件中的可打印字符串(可指定字符串的最小长度),通常用来查看非文本文件(如二进制可执行文件)中的可读内容。
- PHP - Manual手册 - CLXI. String 字符串处理函数 - str_pad使用另一个字符串将一个字符串填充到指定长度
- 华为机试题: 将数组中的字符串按指定长度重新分割(java)
- 字符串排列与八皇后问题