【问题标题】:Division producing only integers C++除法只产生整数 C++
【发布时间】:2013-12-09 08:42:37
【问题描述】:

我使用rand函数生成两个随机数,分子和分母,用于除法,有时结果是浮点数,有时是整数。我怎样才能只生成一个整数结果?这是我的代码:

  srand(time(NULL)); 

integer1 = ((rand() % ( 81 - 5 ) + 5 )*2);
integer2 = ((rand()%3 + 1)*2); 
answer = integer1/integer2;

do {
    cout << "How much is " << integer1 << " divided by " << integer2 << " ? : " << endl;
    cin >> answer;

    if (answer == integer1/integer2) {
        cout << "Very Good !"<< endl;
    }
    else {
        cout << "Your answer is false, please try again !"<<endl;
    }

} while ((integer1/integer2!=answer));

【问题讨论】:

  • 请出示您的代码。
  • integer1integer2answer 是如何声明的?
  • int integer1, integer2, answer = 0;
  • 那你怎么能自信地说“有时结果是浮动的”?你怎么知道的?
  • Kaabii,我们正在努力提供帮助。基于程序和integer1integer2answer 都声明为整数的事实,我们预计answer 将是一个整数结果。这就是你想要的,对吗?你确定你发布的代码是在你运行的当前版本中吗?

标签: c++ function random


【解决方案1】:

如果/ 的两个操作数都是整数类型,则结果将是整数。如果任一操作数是浮点类型,则结果将是浮点类型。如果你希望它是一个截断的整数,你需要转换为你想要的类型。

【讨论】:

  • 您能否使用我提供的代码 sn-p 进一步澄清一下?
猜你喜欢
  • 2011-03-09
  • 1970-01-01
  • 2021-11-30
  • 2021-02-26
  • 1970-01-01
  • 1970-01-01
  • 2016-12-02
相关资源
最近更新 更多