|
|
如题所述下例中变量i在main函数中,一个可以随输入测试值的大小而变化(如为1亿),一个只能在0至5的范围内变化,在main函数中的同一变量不是应该一致吗?在运行中代码一切正常,二者并没有发生冲突,应该如何正确理解?
- #include <iostream>
- #include <math.h>
- #include <stdlib.h>
- #include <time.h>
- using namespace std;
- int rand_0toN1(int n);
- int hits[5];
- int main(){
- int i,r,n;
- srand(time(0));
- cout<<"Enter number of trials to run,";
- cout<<"and press ENTER: ";
- cin>>n;
- for (i=1;i<=n;i++){ //[size=+2]变量 i 随测试数n的变化而变化[/size]
- r=rand_0toN1(5);
- hits[r]++;
-
- }
- cout<<"i"<<" : "<<" name "<<" n%"<<endl;
- for (i=0;i<5;i++){ //[size=+2]变量 i在0至5的范围内变化[/size]
- cout<<i<<" : "<<" slr ";
- cout<<static_cast<double>(hits[i]) / (n/5)<<endl;
- }
- return 0;
- }
- int rand_0toN1(int n){
- return rand()%n;
- }
复制代码 |
|