私の本には次の問題がありました。
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
clrscr();
randomize();
int Game[]={10,16},P;
int Turn=random(2)+5;
for(int T=0;T<20;T++)
{
P=random(2);
cout<<Game[P]+Turn<<"#";
}
getch();
}
出力は 16#22#16#16#16#22#....20 回のようになります... なぜこの出力は常に 16# または 22# のいずれかになるのですか?? なぜ15#または21#ではないのですか?? このプログラムの仕組みを知りたいです。ありがとう。ターン=ランダム(2)+5; random(2) が 0 を与える場合、ターンは turn=0+5=5 になります。これは、10+5=15 と 16+5=21 を 16 と 22 と共に取得する必要があることを意味しますが、取得していません。
私たちはコンピュータ サイエンス理論の試験で上記の質問を受け、正しい答えを選択する必要がありました (つまり、16 と 22 を生成します)。 21も可能です..