内存:128  时间:1

题目描述

输入字母构成的字符串(不大于30字符)从中读取3个不重复的字符,求所有取法,取出的字符串按升序排列。不同取法输出顺序可以不考虑。

输入

输入一串字符(不超过30个)

输出

从中读取3个不重复的字符,求所有取法,取出的字符串按升序排列。

样例输入

abcd

样例输出

abc
abd
acd
bcd

提示

代码如下

#include<stdio.h>
#include<string.h>
int l;
void dfss(char str[],char ch[],int x,int k)
{
	int i,j;
	if (k==2) {
		for (i=0;i<=2;i++)
		printf("%c",ch[i]);
		printf("
");
return ;
	}

	for (i=x+1;i<=l;i++)
	if (ch[k]<str[i]) 
	{
		ch[k+1]=str[i];

		dfss(str,ch,i,k+1);
	}
	return ;
	
}
int main ()
{
	int x,y,i,j;
	char str[1000],ch[3];
	gets(str);
	l=strlen(str);
	for (i=0;i<=l-3;i++)
	{
		ch[0]=str[i];
		dfss(str,ch,i,0);

	}
	return 0;
	
}

代码来源于互联网,仅供参考!