Во входной строке записаны целые числа через запятую, найти их сумму - 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 для завершения программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д