C言語では、ネストされたループを使用して、配列に重複する数字が存在するかどうかを確認できます。具体的な手順は次のとおりです。
- 整数型の配列を宣言し、配列要素を初期化してください。
- 二重のループを使用し、外側のループは配列の各要素をイテレートし、内側のループは外側の現在の位置から配列の残りの要素をイテレートします。
- 内側のループでは、外側のループの現在の要素と内側のループの現在の要素を比較し、同じであれば重複する数字があるということになります。その際には、真偽値を返すか重複する数字の情報を出力することができます。
- ネストされたループが終了すると、重複する数字が見つからない場合は、配列には重複する数字が含まれていないことを意味します。
以下は、C言語で実装されたサンプルコードです:
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 初始化数组
int size = sizeof(arr) / sizeof(arr[0]); // 数组大小
int i, j;
int isDuplicate = 0; // 判断是否有重复数字,默认为0表示没有
for (i = 0; i < size; i++) {
for (j = i + 1; j < size; j++) {
if (arr[i] == arr[j]) {
isDuplicate = 1; // 如果找到重复数字,将isDuplicate设置为1
printf("数组中存在重复数字:%d\n", arr[i]);
break;
}
}
}
if (!isDuplicate) {
printf("数组中不存在重复数字\n");
}
return 0;
}
配列arrには重複する数字が含まれていないため、「重複する数字はありません」という結果が出力されます。もし配列に重複する数字が含まれている場合、例えばarr[5]の値を2に変更すると、「重複する数字があります:2」という結果が出力されます。