輸入十個整數,輸出其中有重複的數字,輸入與輸出請參照下圖範例。
輸入:十個整數,以空格隔開。
輸出:重複的數字(有多個以逗號隔開),若無重複數字則顯示“No repeated number!”。
範例輸出:
解題思路:
每輸入一個數都先跑看看之前有沒有相同的數字。
每輸入一個數都先跑看看之前有沒有相同的數字。
程式碼:
#include <stdio.h> int main() { int n[10] = { 0 }, counter[10] = { 0 }, m, length = 0, check = 0;//m接暫時數字,length紀錄陣列長度,check看有無被記錄 printf("Please enter 10 number:\n"); for (int i = 0; i < 10; i++)//題目輸入10個數字 { check = 0; scanf_s("%d", &m); for (int j = 0; j < length; j++)//檢查有沒有出現過,有counter[]++,沒有放到n[] { if (n[j] == m) { counter[j]++; check = 1; break; } } if (check == 0) { n[length] = m; counter[length] += 1; length++; } } check = 0; printf("The repeat number is:\n"); for (int i = 0; i < length; i++) { if (counter[i] > 1) { if (check == 1) printf(","); printf("%d", n[i]); check = 1; } } if (check == 0) printf("No repeat number!\n"); return 0; }
沒有留言:
張貼留言