C语言编程:从键盘输入一个有空格的字符串,删除所有重复字符,按字符升序输出在屏幕上。怎么做?

2025-03-23 16:15:01
推荐回答(1个)
回答1:

代码文本:

#include "stdio.h"

int main(int argc,char *argv[]){

char a[101],*p,*px,t;

printf("Input a string...\n");

for(p=a,t=0;t<100;t++)//输入字符串

if((*(p+t)=getchar())=='\n')

break;

*(p+t)='\0';

for(p=a;*p;p++)//排序

for(px=p+1;*px;px++)

if(*p>*px){

t=*p;

*p=*px;

*px=t;

}

for(p=a;*p;p++){//删除重复字符

for(t=1;*p==*(p+t);t++);

if(t>1){

for(px=p;*px=*(px+t);px++);

p--;

}

}

printf(*a ? "\n%s\n" : "\n(null)\n",a);//输出

return 0;

}

供参考。