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