删除重复字符:输入一个以回车结束的字符串(少于80个字符),去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出
为什么有的字母输入不进去啊?比如开头的a和d,明明两个字母不一样,但是没有存到asc数组里。
追加:现在知道是因为把所有重复的字母都删了?请问怎么可以让第一次出现的字母留着?感谢~

删除重复字符:输入一个以回车结束的字符串(少于80个字符),去掉重复的字符后,按照字符ASCII码顺序从小到大排序后输出
为什么有的字母输入不进去啊?比如开头的a和d,明明两个字母不一样,但是没有存到asc数组里。
追加:现在知道是因为把所有重复的字母都删了?请问怎么可以让第一次出现的字母留着?感谢~

这样改,供参考:
#include <stdio.h>
int main()
{
int asc[256] = { 0 }, t = 0, i, j;
char c[81], ch;
while ((ch = getchar()) != '\n') {
if (asc[ch] == 0) {
asc[ch]++;
c[t] = ch;
t++;
}
}
c[t] = '\0';
printf("排序前:%s\n", c);
for (i = 0; i < t - 1; i++) {
for (j = 0; j < t - 1 - i; j++) {
if (c[j] > c[j + 1]) {
ch = c[j];
c[j] = c[j + 1];
c[j + 1] = ch;
}
}
}
printf("排序后:%s", c);
return 0;
}