Во входной строке записаны целые числа через запятую, найти их сумму - C (СИ)
Формулировка задачи:
Не понимаю как работать с строками...
У меня есть задача...
Во входной строке записаны целые числа через запятую. Найдите их сумму.
ВХОДНЫЕ ДАННЫЕ
Программа получает на вход строку, содержащую цифры, знаки +/- и запятые. Необходимо разбить эту строку по запятым на числа и вычислить их сумму.
Длина строки не превосходит 1000 символов. Строка содержит хотя бы одно число, начинается и заканчивается не с запятой, никакие две запятые не идут подряд. Между двумя соседними запятыми записано корректное целое число, не превосходящее по модулю 106106, которое может начинаться со знака "+" или "-".
Ввод: 12,-5,+8
Вывод: 15
Получилось только так... но это неправильно (условие задачи совсем другое)#include <iostream> #include <string> using namespace std; int main(){ string str; int sum = 0; cin >> str; cout << endl; for(int i = 0; i < str.length(); i++){ if (str[i] == ',') { i++; } sum += (int)str[i] - 48; } cout << sum << endl; return 0; }
Решение задачи: «Во входной строке записаны целые числа через запятую, найти их сумму»
textual
Листинг программы
#include<stdio.h> int main(void) { int x,sum=0; do { scanf("%d",&x); sum+=x; }while(getchar()!='\n'); printf("%d\n",sum); return 0; }
Объяснение кода листинга программы
- Подключение стандартной библиотеки ввода-вывода
- Объявление переменных: x (целое число для хранения значения числа с плавающей точкой), sum (целое число для хранения суммы чисел), и sum_temp (временная переменная для промежуточных вычислений)
- Ввод чисел с клавиатуры и сохранение их в массив
- Вычисление суммы чисел в массиве
- Вывод суммы на экран
- Вернуть 0 для завершения программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д