C语言 输入一个字符串 去掉重复的字符,输出无重复的

如题所述

#include<stdio.h>

#include<string.h>

main()

{int i,a[127]={0};

 char s[100];

 printf("Enter a string:\n");

 gets(s);

 for(i=0;i<strlen(s);i++)

   if(a[(int)s[i]]==0)

   {a[(int)s[i]]=1; printf("%c",s[i]);}

 printf("\n");

}



温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-22
#include<stdio.h>int main(){ char str[100]="";//输入字符串,自己设置长度 char out[100]=""; int letter[127]; int k=127,m=0; while(k--)letter[k]=-1; puts("input a string:"); gets(str); for(k=0;k<100;k++) letter[str[k]]++; for(k=0;k<100;k++) if(letter[str[k]]==0)out[m++]=str[k]; out[m]='\0'; puts(out); getchar(); return 0; }

想要排除重复,即留下只出现1次的,的,判断处if(letter[str[k]]==0)
若想留下出现N次的,判断处if(letter[str[k]]==N-1) 即可。
相似回答