#include "time.h" #include "stdlib.h" main() { time_t t; int sum = 0; bool flag = true; srand((unsigned)time(&t)); while(flag) { for(int i=0;i<10;i++) { sum += rand()%80; } if(sum>=250 && sum<=300) { cout<<sum<<endl; flag = false; } } }
i. 提供以下代码 ii. Random objRand = new Random(); iii. objRand.Next(int minValue,int maxValue); 如果按这种代码格式,如何做呢,哪种更好呢?
Random r = new Random(); int[] nums = new int[10]; int [] numbers = new int[80];//维数可改 private void displayNum() { int total = 0; for (int i = 1; i <= numbers.Length; i++) { numbers[i - 1] = i; } int j=0; //控制外层循环 while(j<10) { int randNum = r.Next(numbers.Length); //内层循环判断 for (int ii = 0; ii < nums.Length; ++ii) { if (nums[ii] !=numbers[randNum]) { nums[j] = randNum; //叠加 total += nums[j]; } } ++j; } if (total > 300 || total < 250) { //重新生成 displayNum(); }
#include "stdlib.h"
main()
{
time_t t;
int sum = 0;
bool flag = true;
srand((unsigned)time(&t));
while(flag)
{
for(int i=0;i<10;i++)
{
sum += rand()%80;
}
if(sum>=250 && sum<=300)
{
cout<<sum<<endl;
flag = false;
}
}
}
ii. Random objRand = new Random();
iii. objRand.Next(int minValue,int maxValue);
如果按这种代码格式,如何做呢,哪种更好呢?
Random r = new Random();
int[] nums = new int[10];
int [] numbers = new int[80];//维数可改 private void displayNum()
{
int total = 0;
for (int i = 1; i <= numbers.Length; i++)
{
numbers[i - 1] = i;
}
int j=0;
//控制外层循环
while(j<10)
{
int randNum = r.Next(numbers.Length);
//内层循环判断
for (int ii = 0; ii < nums.Length; ++ii)
{
if (nums[ii] !=numbers[randNum])
{
nums[j] = randNum;
//叠加
total += nums[j];
}
}
++j;
}
if (total > 300 || total < 250)
{
//重新生成
displayNum();
}