こんにちは、私は c の書き方を学んでいる初心者です。正の整数を入力するよう促し、0 を入力すると終了し、0 より前の数値が少なくとも 2 つの正の整数であるコードをどのように作成するのか疑問に思っていました。次に、プログラムは最大の正の整数入力と最小の整数入力を決定します。
#include <stdio.h>
int main(void)
{
int integer=0, largest_int, smallest_int;
while (integer) {
printf("Please enter a positive integer: \n");
scanf("%d", &integer);
if (integer = 0) {
while (integer<=0) {
printf("Please enter a positive integer: \n");
scanf("%d", &integer);
if (integer>0) {
printf("Please enter a positive integer: \n");
scanf("%d", &integer);
if (integer>0) {
printf("the largest integer is.....and the smallest integer is......");printf("Please enter a positive integer: \n");
break;
}
else {
printf("Please enter a positive integer: \n");
scanf("%d", &integer);
}
}
}
}
}
return 0;
}
最初は do/while ループを使用しようとしましたが、まったく機能しませんでした。
また、ループ内に if ese ステートメントがある場合に、コンパイラがループを読み取る方法にも頭を悩ませています。
これが私が考えていたことです:2つの正の数を入力するまで、「正の整数を入力してください」を繰り返し尋ねることを考えました。次に、次の入力がゼロに等しいかどうかをプログラムにチェックさせます。そうでない場合は、ループを再開します。ユーザーが少なくとも 2 つの正の整数を入力してからゼロを入力すると、ループが中断され、最大の int と最小の int が出力されます。また、私を混乱させるのは、整数を 100000000000000000000 回入力し続けることができるため、すべてのユーザーの入力をフィルタリングしてこれらの値を決定する方法です。