1

while、if、配列などの単純なコマンドを使用して、基本的に正確に 5 つの数値 (具体的には整数) を 1 行に入力する方法について疑問に思っています。たとえば、スペースで区切られた 5 つの数値を入力すると、1 2 3 4 5 プログラムは 1 2 3 4 5 を出力しますが、5 未満または 5 を超える数値を入力すると、1 2 3 4 プログラムは無効な入力を出力します。これまでのところ、

#include<stdio.h>
int main(int argc,char *argv[]){
    int array[5], numbers;
    numbers = 0;
    while (numbers < 5) {
        scanf("%d", &array[numbers]);
        numbers  = numbers + 1
    }
    printf("%d %d %d %d %d\n", array[0], array[1], array[2], array[3], array[4]);
    return 0;
}

すべての配列セルに 9999 (プログラムで使用されていない数値) を割り当てるとどうなるでしょうか。そして、各配列が新しい値に変更されていることを確認するループを作成します。それでも 9999 の場合は無効になります。しかし、ここでの問題はまだあります。異なる数の入力の 1 行を取得して先に進むにはどうすればよいでしょうか。例 入力 2 3 出力 2 3 9999 9999 9999 または 入力 2 3 4 出力 2 3 4 9999 9999

4

3 に答える 3