當前位置:成語大全網 - 書法字典 - c語言刪除重復數據

c語言刪除重復數據

程序的基本思想是將輸入的字符串放入a[100]字符組,然後將a[100]到b[100]中所有不重復的字符相加,從而間接刪除字符串中的重復字符。

# 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]中的字符串,也就是刪除了重復的字符之後。

}