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