Составить программу вычисления суммы цифр введенного с клавиатуры натурального числа - C (СИ)
Формулировка задачи:
Н-р: для числа 128 сумма цифр 11
Помогите пожалуйста.
Решение задачи: «Составить программу вычисления суммы цифр введенного с клавиатуры натурального числа»
textual
Листинг программы
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main(){
string s;
cin >> s;
cout << accumulate(s.begin(), s.end(),0) - 48 * s.size();
return 0;
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с вводом/выводом и алгоритмами
- Используем директиву using namespace std, чтобы не писать std:: при обращении к стандартным функциям и классам
- Задаем функцию main() - точку входа в программу
- Создаем строковую переменную s для хранения введенного числа
- Считываем число с клавиатуры в переменную s с помощью функции cin >> s;
- Используем алгоритм accumulate() для подсчета суммы всех цифр числа
- Передаем начало и конец диапазона для суммирования (s.begin(), s.end()) и инициализируем результат суммой 0
- Вычитаем из полученной суммы произведение количества цифр в числе на 48 (для получения суммы цифр от 0 до 9)
- Возвращаем 0, заканчивая выполнение функции main()
- Выводим полученную сумму на экран с помощью функции cout