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