Предмет: Информатика, автор: emich2780

С++ Цикл while пользователь вводит число надо найти произведение цифр его числа . МАКСИМАЛЬНО ПРОСТО


iolandavalerypad353: Переведи число в строку S, потом задаешь i = 1 и P = 1, потом в цикле пока i<длины строки делаешь агрегацию (произведение) P*=S[i] и увеличиваешь i++. Я С++ не знаю, но тут нужно найти всего две функции (метода): перевод целого в строку и перевод символа (или строки) в целое. Должны такие быть в С++.

Ответы

Автор ответа: MupoTBopec
1

#include <iostream>

#include <cstdlib>

using namespace std;

int main()

{

int number, multi = 1;

cin >> number;

while(number != 0){

 multi *= number %10;

 number /= 10;

}

cout << multi << endl;

system("pause");

return 0;

}


DigitalAnnihilator: 1. Почему дефайним и инициализируем в строчку?
DigitalAnnihilator: 2. Почему ввод данных не валидируется?
DigitalAnnihilator: 3. Почему в цикле литерал - справа?
DigitalAnnihilator: 4. Зачем ставим паузу? Или работаем в винде и не умеем запускать консольные рпограммы?
DigitalAnnihilator: 5. Зачем для паузы целый заголовок инклюдить? Может тогда уж просто сделает inf loop?
DigitalAnnihilator: Одним словом: данные не валидируются, код потенциально опасный, так ещё и с лишним функционалом, но без необходимого (:
DigitalAnnihilator: 6. Зачем глобальный using namespace? Не знаем к чему это приводит?
Похожие вопросы
Предмет: Химия, автор: InezoxI