随机化功能

时间:2010-07-11 07:58:02

标签: c++

  void main()
 {

  randomize();
  char city[][10]={"DEL","CHN","KOL","BOM","BNG"};
  int i,fly;
  for(i=0;i<3;i++)
  {
   fly=random(2)+1;
   cout<<city[fly]<<":";
  }
 }

以下代码段的输出是什么?

2 个答案:

答案 0 :(得分:3)

如果您希望每次使用随机数生成器运行程序时都相同输出,那么您希望每次都使用相同的值为生成器设定种子。例如:

#include <cstdlib>
#include <iostream>
using namespace std:

int main() {
   srand( 42 );  // generator always seeded with same value
   for ( int i = 0; i < 10; i++ ) {
      cout << rand() << endl;
   }
}

总是产生相同的序列。

答案 1 :(得分:0)

random(2)为0或1 因此,fly = random(2)+ 1是1或2 city [fly]是“CHN”或“KOL” 由于循环重复三次,可能的答案是

  • CHN:CHN:CHN
  • CHN:CHN:KOL
  • CHN:KOL:CHN
  • CHN:KOL:KOL
  • KOL:CHN:CHN
  • KOL:CHN:KOL
  • KOL:KOL:CHN
  • KOL:KOL:KOL