7-10 删除重复字符
本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。
输入格式:
输入是一个以回车结束的非空字符串(少于80个字符)。
输出格式:
输出去重排序后的结果字符串。
输入样例:
ad2f3adjfeainzzzv
输出样例:
23adefijnvz
这题本来很简单,但我一时被比较ASCII码给搞蒙了,但一想,计算机对于字母的比较不就是直接比它的ASCII码吗?这才反应过来!
解题代码
#include<stdio.h>
#include<string.h>
int main()
{
char a[81];
gets(a);
//scanf("%s",a);
int i,j,l=strlen(a);
char t;//注意不要习惯性的写成了 int t;
for(i=0;i<l-1;i++)
for(j=0;j<l-1;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
for(i=0;i<l;i++)
{
if(a[i]!=a[i+1]) printf("%c",a[i]);
}
return 0;
}
欢迎大佬指教,有不懂的小可爱可以私信q2651877067,很高兴为你解答QwQ!!!