Во введенном тексте подсчитать наибольшее количество цифр, идущих подряд - C (СИ)
Формулировка задачи:
помогите плиз ошибку исправить, как сделать так, чтобы он считал только цифры, идущие подряд, а не буквы и цифры
#include <stdio.h>
#include <conio.h>
#define c 20
void main()
{
int t[ c ];
int k=0,a=1,i;
printf("Vvedite text:\n");
scanf("%",&t[i]);
i=getchar();
while(i!='\n')
{
while (i==' ')
i=getchar();
if(i=='\n')
break;
while(i!=' ' && i!='\n')
{
i=getchar();
k++;
}
if(k>a)
a=k;
k=0;
}
printf("max kolichestvo cifr idushih podryad %d", a);
getch();
}Решение задачи: «Во введенном тексте подсчитать наибольшее количество цифр, идущих подряд»
textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
// #include <conio.h>
void main()
{
int i, max = 0, n = 0;
printf("Vvedite text:\n");
while ( (i = getchar()) != EOF && i != '\n')
{
if (isdigit(i))
++n;
else n = 0;
if (n > max)
max = n;
}
printf("max kolichestvo cifr idushih podryad %d\n", max);
// getch();
}
Объяснение кода листинга программы
- Подключение необходимых библиотек: iostream.h и cctype.h
- Объявление переменных: a. i — счётчик для цикла b. max — переменная для хранения максимального количества цифр c. n — счётчик количества текущих цифр
- Вывод сообщения с просьбой ввести текст
- Считывание символов из стандартного ввода до тех пор, пока не будет введён символ новой строки или не будет достигнут конец файла
- Проверка каждого считанного символа на цифру
- Если символ является цифрой, увеличивается счётчик n
- Если символ не является цифрой, сбрасывается счётчик n до 0
- Если текущее количество цифр больше максимального, обновляется значение максимального количества цифр
- Вывод сообщения с максимальным количеством цифр
- Завершение работы программы