首頁>Club>
59
回覆列表
  • 1 # TonyDeng

    比較簡單的基礎題。分兩個步驟,關鍵是第一步,排序,由於資料量不大,應用冒泡法就可以了。

    第二步用點取巧法,前面排序是必須的,那樣所有相同的資料必定會排列在一起,所以可以邊輸出邊排查重複資料。迴圈遍歷整個陣列,輸出第0個元素,迭代後,用後面的元素與前面的比較,如果相同,即是重複的,不輸出(不輸出不等於刪除,要注意這點區別),接著迴圈,直到與前面元素不等,就是新資料,如此迴圈完畢即可。

    為免程式設計麻煩,用一箇中間變數把比較值儲存起來,則不必在下標計算上費腦筋。記元素和記下標是一樣的,都需要中間記憶變數。

  • 2 # 深夜最科技

    1 /*

    2 思路:

    3 將字串存入字元陣列a中,設將值複製給陣列b,遍歷b的每個元

    4 素,與a中的每個元素比較,有相同則b中對應元素置為-1。

    5 輸出b中不為-1的元素。

    6 */

    7 #include<stdio.h>

    8 #include<string.h>

    9 char a[100],b[100];

    10 void Del(int index,int len){

    11 for(int i=0;i<len;i++){

    12 if(index == i) continue;//下標相同即同一個元素不比較,進入下一個迴圈

    13 if(b[index] == a[i]) b[index]=-1;//有相同元素,置值為 -1

    14 }

    15 }

    16 int main(){

    17 gets(a);

    18 memcpy(b,a,sizeof(a));//將a的元素複製給b

    19 int len=strlen(a);//求a的長度

    20 for(int i=0;i<len;i++){

    21 Del(i,len);

    22 }

    23 for(int i=0;i<len;i++){//輸出b中非-1的元素

    24 if(b[i]!=-1){

    25 printf("%c",b[i]);

    26 }

    27 }

    28 return 0;

    29 }

  • 中秋節和大豐收的關聯?
  • 怎麼能清理靜脈血管垃圾吃什麼水果?