Problem Description
从标准输入读入一个由字符构成的串(不大于30个字符)。
从该串中取出3个不重复的字符,求所有的取法。
取出的字符,要求按字符升序排列成一个串。
不同的取法输出顺序可以不考虑。
从该串中取出3个不重复的字符,求所有的取法。
取出的字符,要求按字符升序排列成一个串。
不同的取法输出顺序可以不考虑。
Input
从标准输入读入一个由字符构成的串(不大于30个字符)。
Output
从该串中取出3个不重复的字符,求所有的取法。
Sample Input
abc abcaa abcd
Sample Output
abc abc abc abd acd bcd
代码如下:
#include<stdio.h>
#include<string.h>
#include<ctype.h>int main ()
{char str[40],ch[40];int vis[1000];int i,j,n,m;while(~scanf("%s",str)){int len=strlen(str);m=0;memset(vis,0,sizeof(vis));for(i=0;i<len;i++){if(vis[str[i]]==0){ch[m++]=str[i];vis[str[i]-0]=1;}}for(i=0;i<m-2;i++){for(j=i+1;j<m-1;j++){for(n=j+1;n<m;n++){printf("%c%c%c\n",ch[i],ch[j],ch[n]);}}}}return 0;
}