Количество цифр и чисел в символьной строке S - C (СИ)
Формулировка задачи:
Добрый день
Мне надо написать програму которая будет вычеслять количество цифр и чисел в символьной строке S.
Как поссчитать количество цифр я знаю а вот чисел я незнаю
Спасибо за ответ
Решение задачи: «Количество цифр и чисел в символьной строке S»
textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
int main()
{
char s[20];
gets(s);
int i;
int z = 0;
int k = 0;
int o = 0;
for(i = 0; i < strlen(s);i++) {
while(s[i] >= '0' && s[i] <= '9') {
z++; // Прибавляем к кол-ву цифр.
i++;
o = 1;
}
k+=o;//Прибавляем к кол-ву чисел
o = 0;
}
printf("%d %d", k, z);
}
Объяснение кода листинга программы
В этом коде:
- Объявлены четыре переменные:
s- массив символов, в который считывается строка из стандартного ввода;i- счётчик, используемый в цикле;z- счётчик, используемый для подсчёта количества цифр;k- счётчик, используемый для подсчёта количества чисел.
- Заполняется массив
sс помощью функцииgets(). - Происходит итерация по всем символам строки
s. - Если текущий символ является цифрой (больше или равен '0' и меньше '9'), то:
- Увеличивается счётчик
zна единицу (количество цифр увеличивается). - Происходит переход к следующему символу с помощью
i++. - Устанавливается значение счётчика
oравным единице (после цифры следует число).
- Увеличивается счётчик
- Если текущий символ не является цифрой, то:
- Устанавливается значение счётчика
oравным нулю (после числа следует не число).
- Устанавливается значение счётчика
- Происходит переход к следующему символу с помощью
i++. - Значение счётчика
kувеличивается на значение счётчикаo, которое после итерации будет равно количеству чисел. - Выводится на экран количество чисел и количество цифр. Таким образом, данный код подсчитывает количество чисел и цифр в введённой строке.