cpp: 读取输入中的多个数字

  • cpp 中,如何读取一行中的前两个数字,并且丢弃后面的内容?
#include
#include 

double adjustSum(int, int);

using namespace std;

int main(void) {

    int m, n;
    cout << "# input two numbers n,m (0 to quit):";
    while ((cin >> m) && m != 0 && (cin >> n) && n != 0) {
        while (cin.get() != '\n')continue; // 丢弃多余输入
        cin.clear();
        double sum = adjustSum(m, n);
        cout << "adjustSum(" << m << "," << n << ")=" << sum << endl;
        cout << "# input two numbers n,m (0 to quit):";
    }
    return 0;
}

double adjustSum(int m, int n) {
    return 2.0 * m * n / (m + n);
}

输出:

 # input two numbers n,m (0 to quit):1 2 3 4 5 6 7 sdwdd
adjustSum(1,2)=1.33333
 # input two numbers n,m (0 to quit):0

你可能感兴趣的:(computer,大猫学C/C++)