本题要求编写程序,将给定字符串去掉重复的字符后,按照字符 ASCII 码顺序从小到大排序后输出。
输入格式:
输入是一个以回车结束的非空字符串(少于 80 个字符)。
输出格式:
输出去重排序后的结果字符串。
输入样例:
ad2f3adjfeainzzzv
输出样例:
23adefijnvz
#include<stdio.h>
#include<string.h>
int cmp(const void*a, const void*b){
return *(char*)a - *(char*)b;
}
int main(){
char str[81];
gets(str);
int len = strlen(str);
for(int i = 1; i < len; i++)
{
for(int j = 0; j < i; j++)
{
if(str[i]==str[j])
{
for(int k = j; k < len; k++)
{
str[k] = str[k+1];
}
len--;
i--;
}
}
}
// for(int i = 0; i < len; i++)
// printf("%c",str[i]);
//printf("%d",len);
qsort(str,len,sizeof(str[0]),cmp);
for(int i = 0; i < len; i++)
printf("%c",str[i]);
return 0;
}