7-10 删除重复字符 (20分)
本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。
输入格式:
输入是一个以回车结束的非空字符串(少于80个字符)。
输出格式:
输出去重排序后的结果字符串。
输入样例:
ad2f3adjfeainzzzv
输出样例:
23adefijnvz
答案
#include<stdio.h>
int main(void){
char a[90],ch;
int b=0,c=1,d,e;
a[0]=getchar();//将字符串除去重复字符后存入a【】
while((ch=getchar())!='\n'){
b=0;
for(d=0;d<c;d++){
if(a[d] = = ch){
b=1;
break;
}
}
if(b==0){
a[c]=ch;
c++;
}
}
for(b=0;b<c;b++){//冒泡排序
for(d=1;d<c;d++){
if(a[d]<a[d-1]){
e=a[d],a[d]=a[d-1],a[d-1]=e;
}
}
}
for(b=0;b<c;b++){
printf("%c",a[b]);
}
return 0;
}