0

我从“使用 C++ 编程和原理”编写这个程序,我需要编写一个程序,它需要太多的整数并找到和、差、大于和小于值以及比率。

出于某种原因,我不能得到大于和小于工作。它实际上并不执行该功能。它只是简单地打印数字,即:4 将小于 2。

我的第二个问题是我如何编写一个可以为我计算比率的方程?

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;
inline void keep_window_open() {char ch;cin>>ch;}
int main()
{
    int a;
    int b;
    cout<<"Enter two values.\n";
    cin>>a; cin>>b;
    if (a > b);cout<< a << " Is greater than " << b << "\n";
    if(a < b);cout<< a << " Is less than " << b << "\n";
    cout<<a << " plus " << b << " is " << a+b << "\n"; 
    cout<<a << " minus " << b << " is " << a-b << "\n";
    keep_window_open();
    return 0;
}
4

2 回答 2

2

首先,您需要删除 if (a>b) 和 if (a < b) 之后的分号。

要进行比率,我建议找到 a 和 b 之间的最大公因数,然后执行以下行:

cout<<"Ratio of "<<a<<" and "<<b<<" is "<<(a/gcd)<<":"<<(b/gcd);

其中 gcd 是 a 和 b 的最大公因数。

于 2012-11-24T05:55:35.000 回答
0

我认为下面的代码片段回答了你所有的问题。

#include<iostream.h>

void main()
  {
  float a,b;
  cout<<"Enter 2 numbers";
  cin>>a>>b;

  cout<<"Plus = "<<(a+b)<<"\n";
  cout<<"Minus = "<<(a-b)<<"\n";
  cout<<"Greater = "<<((a>b)?a:b)<<"\n";
  cout<<"Smaller = "<<((a<b)?a:b)<<"\n";
  cout<<"Ratio = 1:"<<(1/(((a<b)?a:b)/((a>b)?a:b)));
  }
于 2012-11-24T10:29:52.610 回答