輸入十個整數,輸出其中有重複的數字,輸入與輸出請參照下圖範例。
輸入:十個整數,以空格隔開。
輸出:重複的數字(有多個以逗號隔開),若無重複數字則顯示“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;
}

沒有留言:
張貼留言