C语言填空题,编写一个程序,输入一个字符串,按字符顺序由小到大排序,并删除重复的字符。答对就采纳!

2025-04-13 23:39:58
推荐回答(3个)
回答1:

#include "stdio.h"
#include "string.h"
int main()
{char str[100],*p,*q,*r,c;
gets(str);
for(p=str;*p;p++) //改后
{ for(q=r=p;*q;q++)
if(*r>*q) r=q;
if(*r!=*p) //改后
{c=*r; //改后
*r=*p;
*p=c;
}

}
for(p=str;*p;p++)
{ for(q=p;*p==*q;q++);
strcpy(p+1,q);

}
printf("结果为%s\n",str);
}

回答2:

这道题是在FOUND下面打错误进行更改,而且每一处只能改动一次,不能多。
第一处改成:for(p=str;*p;p++)就是将p改成*p。
第二处改成:if(r!=p)就是将原来的等改成非等。
第三处改成:c=*r;就是r改成*r。

回答3: