这是一个作业问题。
给出一组整数,请计算这些整数的乘积 通过乘法运算得出数字。
最多输入九行测试数据集,每行(或数据集) 包含多个由单个空格分隔的整数。
每个数据集都包含n个整数,1≤n≤12
数据集中的每个整数m的限制为0≤m≤40对于每个输入行(或数据集),打印这些输入行的乘积值 涉及的数字。请在每个末尾打印回车 输出线。
输入:
2 3 4
输出:24
输入:
5 2
输出:10
第二次输入我要40。
这就是我试图解决此问题的方式。(我的第二个输出不正确;我得到40)
#include <iostream>
#include <string>
using namespace std;
int main()
{
string line;
int twodigit =0;
while(getline(cin,line,'\n'))
{
int num=1,i;
for(i=0;i<sizeof(line)-1;i++){
if(line[i]==' '){
twodigit =0;
continue;
}
else if((line[i]>=48 && line[i]<=57) && lol==1){
num*=10;
num+=(line[i]-'0');
}
else if(line[i]>=48 && line[i]<=57){
num*=(line[i]-'0');
twodigit =(line[i+1]>=48 && line[i+1]<=57) ? 1:0;
}
}
cout<<num<<endl;
twodigit =0;
}
}
因为我不知道如何检测换行符,所以我尝试了此操作。