0

使用 for 循环和 rand 生成 100 个随机数并打印出最小的和最大的。如果我朝着正确的方向前进,任何指导。

int main()
{
    int x = rand();
    for( x = 0; x < 100; x++)
    {
        if( x < x )
        {
            cout << "Small numbers: " << endl;
            cout << x << endl;
        }
        if ( x > x )
        {
            cout << "Big numbers: " << endl;
            cout << x << endl;
        }
    }
    system("pause");
}
4

4 回答 4

3
if( x < x )

if (x > x)

永远不会是真的。你的逻辑不对。

您可以执行以下操作:

int main()
{
    //set up seed
    srand(time(NULL));

    double min = 1000; //you can also use numeric limits
    double max = -1000;
    for (int i = 0; i < 100; ++i)
    {
       double r = rand(); //you can also generate rand in given range
       if (r > max)
       {
          max = r;
       }
       if (r < min)
       {
          min = r;
       }
    }
    cout << min  << " " << max <<endl;
    cin.get(); //don't use system pause
}
于 2013-04-19T19:09:56.437 回答
1
#include <iostream>
#include <cstdlib>



using namespace std;


int main()
{


   int smallest = INT_MAX;
   int largest = 0;

   for( int x = 0; x < 100; x++)
   {
      int randomNumber = rand() % 100 + 1; 
      cout << "Next number: " << randomNumber ;
      if( randomNumber > largest )
      {
        largest = randomNumber ;
      }

      if ( randomNumber  < smallest )
      {
        smallest = randomNumber ;
      }
    }

    cout << "Smallest number: " << smallest;
    cout << "Largest number:"<< largest;
    system("pause");

}
于 2013-04-19T19:16:29.047 回答
1

第一件事是,每次越过循环时都必须生成新的随机整数,所以你想要这样的东西:

#include <iostream>
#include <cstdlib>
#include <limits>


using namespace std;


int main()
{

int x = rand();
int min=RAND_MAX;
int max=0;

for( int i = 0; i < 100; i++)
{
    x = rand();

    if( x < min )
    {
        cout << "Small numbers: " << endl;
        cout << x << endl;
        min=x;
    }

    if ( x > max )
    {
        cout << "Big numbers: " << endl;
        cout << x << endl;
        max=x;
    }
}


system("pause");

 }
于 2013-04-19T19:16:58.537 回答
0

您的代码不会做任何事情,因为您正在比较同一个变量。

您需要设置一个列表或数组以进行排序,然后比较元素,相应地重新排列,然后遍历列表并按顺序显示。

C++ 标准库可以帮助这个过程:

种类

于 2013-04-19T19:11:01.817 回答