//本题要求编写程序,将给定字符串去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出。
#include <stdio.h>
#include <string.h>
int main()
{
int k,t,x;
char a[80];
gets(a);
k=strlen(a);
for(int i=0;i<k;i++){
for(int j=0;j<k-i;j++)
if(a[i]>a[i+1]){
t=a[i];a[i]=a[i+1];a[i+1]=t; //先进行一次冒泡法排序,整理出顺序
}
}
for(int i=0;i<k;i++){
if(a[i]=a[i+1]){
x=i;
for(i=x;i<k-1;i++) //删去重复的字符
a[i]=a[i+1];
k--;
}
}
puts(a); //输出
return 0;
}
编译通过了。但是这题错了。求大神帮忙。万分感谢
错误错在没考虑 多余重复的情况
例如 :aaaaaaaaaaaaaa
结果 应该是 a
而你的结果是错误的
我重新给你写吧 ,你的代码改起来不爽,每个人有每个人的习惯
#include<stdio.h>