Количество однозначных чисел и их сумма в строке - C (СИ)
Формулировка задачи:
Задание: программа просит ввести строку символов и находит в ней кол-во однозначных чисел и их сумму.
Похожих заданий на форуме не нашёл. Вот мною начатая программа, помогите, пожалуйста:
#include <stdio.h> #include <stdlib.h> #include <ctype.h> int main(int argc, char *argv[]) { char str[100]=""; int i, count=0, sum=0; gets(str); for (i=0; str[i]!='\0'; i++) if (isdigit(str[i])) { if ((str[i]) >=0 && (str[i]) <=9) { count += 1; sum += str[i]; }} printf("word count is %d", count); printf("\nword count is %d\n", count); system("pause"); return 0; }
Решение задачи: «Количество однозначных чисел и их сумма в строке»
textual
Листинг программы
#include <stdio.h> int main() { char str[100]; int i, counter, sum; for ( i = 0, counter = 0, sum = 0; scanf("%c", &str[i]) == 1; i++ ) { if ( str[i] >= '0' && str[i] <= '9' ) { counter += 1; sum += str[i] - '0'; } } printf("quantity=%d\n", counter); printf("sum=%d\n", sum); return 0; }
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с файлами и вводом/выводом данных
- Объявление переменных: строки str, счетчика counter, суммы sum и цикла i
- Начало цикла, который выполняется до тех пор, пока не будет введен ноль или символ, не являющийся однозначным числом
- Внутри цикла проверяется, является ли текущий символ однозначным числом
- Если символ является однозначным числом, то увеличивается счетчик counter и к сумме sum добавляется значение этого числа (вычитается '0', так как в ASCII таблице значения цифр начинаются с '0')
- После окончания цикла выводится количество найденных однозначных чисел (переменная counter) и их сумма (переменная sum)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д