Это домашняя задача.
Учитывая набор целых чисел, вычислите произведение этих чисел с помощью операций умножения.
Введите не более девяти строк тестовых наборов данных.и каждая строка (или набор данных) содержит несколько целых чисел, разделенных одним пробелом.
Каждый набор данных включает в себя 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;
}
}
Поскольку я не знаю, как обнаружить новую строку, я просто попыталсяэто.