题目要求:
本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。
输入格式:
输入是一个以回车结束的非空字符串(少于80个字符)。
输出格式:
输出去重排序后的结果字符串。
输入样例1:
ad2f3adjfeainzzzv
输出样例1:
23adefijnvz
代码:
#include <stdio.h>
int main()
{
char a[80], b[80], temp;
int i, j, k = 0, flag = 0, index = 0;
while((a[i]=getchar())!='\n')
{
i++;
}
a[i] = '\0';
for(i=0; a[i]!='\0'; i++)
{
for(j=0; j<k; j++)
{
if(a[i]==b[j])
{
flag = 1;
break;
}
}
if(flag==0)
{
b[k] = a[i];
k++;
}
flag = 0;
}
for(i=0; i<k-1; i++) //选择法排序
{
index = i;
for(j=i+1; j<k; j++)
{
if(b[j]<b[index])
{
index = j;
}
}
temp = b[index];
b[index] = b[i];
b[i] = temp;
}
for(i=0; i<k; i++)
{
printf("%c", b[i]);
}
return 0;
}