- cpp 中,如何读取一行中的前两个数字,并且丢弃后面的内容?
#include<stdio.h>
#include <iostream>
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