# include & ltstdio.h & gt
void main()
{
char a[100],b[100];
//定義兩個字符組,a[100]用於接收輸入的字符串,b[100]用於存儲不重復的字符。
int pa=0,pb=0,I,flag
scanf("%s ",a);
//將字符串輸入a[100],用scanf讀入a[100],a[100]中的字符串末尾會自動加' \0 '。
for(pa = 0;壹個【啪】!='\0';pa++)
//for循環結束的條件是a[pa]==0,即從a[100]字符組中讀取壹個字符,直到沒有為止。
{
flag = 1;
//標誌是壹個標識符。當flag = = 1時,表示這個字符(下壹句中的a[pa])第壹次出現,應該加到b[100]中。
//如果flag==0,則此字符(下壹句中的a[pa])重復,不應添加到b[100]中。
for(I = 0;我& ltPb;i++)if(b[I]= = a[pa])flag = 0;
//將a[100]中讀取的字符a[pa]與b[100]中的所有字符進行比較。如果b[i]==a[pa]
//表示這個字符已經在b[100]中,也就是說是重復字符,所以flag = 0不能加到b[100]中。
//如果a[pa]和b[100]中的所有字符都不相等,說明這個音符是第壹次出現,應該加到b[100]中。
if(標誌)
{
b[Pb]= a[pa];p b++;
}
//如果flag = = 1,將字符a[pa]加到b[100],然後將pb加到1。
}
b[Pb]= ' \ 0 ';
//當所有不重復的字符都加到b[100]時,在b[100]中的字符末尾加' \0 ',即B [Pb] =' \ 0 '
//因為所有字符串都以min' \0 '結尾,所以加了這句話。
printf("%s\n ",b);
//輸出b[100]中的字符串,也就是刪除了重復的字符之後。
}