これは読むのに首が少し痛いので、ここで少し説明します。
まず、標準のi / oライブラリを含め、#define配列サイズを任意に設定し、配列を宣言します(私は私のものと呼びました:intentries [SIZE];)。
「Enter10numbers」の後の最初のforループはメインのループで、10個の数値を配列にプッシュできます。
次のifステートメントは、入力された直後に入力された値に適用されるテストです。
1)最初のifステートメントは、適切な範囲内の値を入力することを確認します。
2)次の「elseif」は、entries [i] = items [0](これが配列の最初のオブジェクトであるかどうかを意味します)の場合、比較するものがないため、何もしないことを示しています。
3)最後の「else」にはネストされたループが含まれています。外側のループは1に初期化されるため、内側のループで行われる比較では、常に現在の値を前の値と比較していることを確認します。
これがお役に立てば幸いです...乾杯:)
* /
#include <stdio.h>
#define SIZE 10
//declarations
int entries[SIZE];
int main(void)
{
printf("Enter 10 numbers:\n");
for(int i = 0; i <= SIZE-1; i++)
{
printf("[%d]:\n", i);
scanf("%d", &entries[i]);
if(entries[i] < 10 || entries[i] > 100) {
printf("Please enter valid number (between 10 and 100)\n");
scanf("%d", &entries[i]);
}
else if(i == 0) {
;
} else
{
for(int j = 1; j <= i; j++)
{
*//internal loop goes through all the previous entries (entries[i-1], entries[i-2], etc)*
for(int k = 0; k < j; k++) {
if(entries[j] == entries[k])
printf("%d is a duplicate value\n", entries[i]);
}
}
}
}
}