0

最大10個の入力を取るアルゴリズムを書いています。ユーザーは、任意の数の入力を入力できます。問題は、最後の入力で -1 などを入力する必要があることをユーザーに伝えることができないことです。これを行うためのメカニズムを見つける必要があります。それに関するアドバイスはありますか?

4

2 に答える 2

1

このscanf()関数は、書き込みに成功したオブジェクトの数を返します。その値を使用してください。

int n, a[10];
n = scanf("%d%d%d%d%d%d%d%d%d%d", a+0, a+1, a+2, a+3, a+4, a+5, a+6, a+7, a+8, a+9);
printf("You entered %d values\n", n);

特定のスニペットについては、ユーザーは何らかの誤った値 (「42 13 -100 boo」など) または EOF (「42 13 -100 CTRL+D CTRL+D」) を使用して、入力の終了を通知する必要があることに注意してください。"%d"ENTER を入力するだけでは効果がありません。変換指定では無視されます。

于 2012-08-09T13:09:31.600 に答える
0

疑似コード:

get count limit
saturate to 10

start loop (for count-limit times)
scanf
put value to array
end loop

また:

start loop 
scanf
put value to array
increment counter
check if counter==10 or input is blank then quit
end loop
于 2012-08-09T13:06:09.717 に答える