Найти количество буквенных и численных выражений в строке - C (СИ)
Формулировка задачи:
Дана строка не содержащая пробелов..найти количество буквенных и численных выражений...Например qwe121sdddc -2 буквенных и одно цифровое..., без процедур и функций...нужна помощь
написал примерно..не знаю..посмотрите
#include<conio.h> #include<stdio.h> #include<string.h> const t='0123456789'; int main() { int n,i,bukv1,chisel,group; printf("Vvedite maksimalnoe koli4estvo simvolov v texte: "); scanf("%i",&n); char text[n]; printf("Vvedite text: "); scanf("%s",&text); group=0; bukv1=0; i=0; while (i<strlen(text)) { if ((text[i]>='a') && (text[i]<='z') && (text[i+1]=t)) { group++; } i++; } printf("group bykv: %d",group); }
Решение задачи: «Найти количество буквенных и численных выражений в строке»
textual
Листинг программы
#include<stdio.h> #include<string.h> #define DIGIT " 0123456789\t\n" #define ABC " qwertyuioplkjhgfdsazxcvbnm\t\n" int main() { int word = 0, num = 0; char text[BUFSIZ] = "sds344sdd33ads"; char *p; char *t = strdup (text); for ( p = strtok (text, ABC) ; p ; p = strtok (NULL, ABC) ) ++num; for ( p = strtok (t, DIGIT) ; p ; p = strtok (NULL, DIGIT) ) ++word; printf (" Count_word = %d \t Count_dig = %d ", word, num); }
Объяснение кода листинга программы
В этом коде выполняется подсчет количества буквенных и численных выражений в строке.
- Создаются две константы: DIGIT и ABC. DIGIT содержит все числовые значения, а ABC содержит все буквенные значения.
- Инициализируется переменная text, которая содержит исходную строку.
- Создается дубликат строки text с помощью функции strdup, который затем присваивается переменной t. Это делается для того, чтобы исходная строка осталась неизменной.
- В цикле for с помощью функции strtok происходит разделение строки на части по заданным критериям (буквенные или числовые). Функция strtok возвращает указатель на первую часть (слово), и после каждого вызова функции strtok необходимо передать NULL и критерий, чтобы перейти к следующему слову.
- Увеличивается счетчик, если текущая часть является числовой или буквенной.
- Выводится количество найденных буквенных и числовых выражений.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д