2010-07-11 153 views
-1
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]<<":"; 
    } 
} 

什么是下面的代码片段的输出是什么?随机函数

+3

嗯,什么是'randomize'和'random'?我们如何预测一个随机数? **并且'main'返回'int'!** – GManNickG 2010-07-11 08:00:07

+0

为什么不尝试编译并运行它? – mathk 2010-07-11 08:01:05

+0

我没有提到头文件stdlib.h – anurag18294 2010-07-11 08:02:46

回答

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; 
    } 
} 

总是产生相同的序列。

+0

请告诉我我的代码可能的输出 – anurag18294 2010-07-11 08:14:18

0

随机(2)0或1 因此飞=随机(2)+ 1是1个或2 城市[飞]可以是 “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