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