Определить, каких слов в тексте больше, состоящих только из букв или только из цифр - C (СИ)
Формулировка задачи:
Здравствуйте. Помогите пожалуйста решить програмку.
Я тут написал ее, но не правильно, я тут общее кол-во букв и цифр посчитал .а мне нужно слова... (в условии, не нужно предполагать, что слово может быть смешанным)
вот, то что я намудрил, неправильное....
Определить, каких слов в тексте больше, состоящих только из букв или только из цифр.
#include<stdio.h> #include<conio.h> #define N 80 char tex[N]; void main() { clrscr(); int i; int cif; int k; int j; int buk; char kcif;//kol-vo cifr char kbuk;//kol-vo bukv printf("\n Vvedite stroku:\n"); gets(tex); k=0; for (i=0; i<N; i++) { for (kcif='0'; kcif<='9'; kcif++) { if (tex[i]==kcif) k+=1; } } printf("cifr %i",k); // // // // // j=0; for (i=0; i<N; i++) { for (kbuk='A'; kbuk<='Z'; kbuk++) { if (tex[i]==kbuk) j+=1; } } for (i=0; i<N; i++) { for (kbuk='a'; kbuk<='z'; kbuk++) { if (tex[i]==kbuk) j+=1; } } printf("\t bukv %i",j); if (k>j) printf("\n\n\nCIFR BOL`SHE\n"); else if (k<j) printf("\n\n\nBUKV BOL`SHE\n"); else printf("\n\n\nCIFR i BUKV ODINAKOVOE KOL-VO\n"); getch(); }
Решение задачи: «Определить, каких слов в тексте больше, состоящих только из букв или только из цифр»
textual
Листинг программы
#include<stdio.h> #include<conio.h> #define N 100 void main() { clrscr(); char text[N]; size_t i = 0; size_t wdigit = 0; size_t walpha = 0; printf("\n Enter string:\n"); gets(text); while (text[i]) { if(isalpha(text[i])&&!isalnum(text[i + 1])) walpha++; if(isdigit(text[i])&&!isalnum(text[i + 1])) wdigit++; i++; } printf("\n\Words with characters %d ",walpha); if(walpha > wdigit) printf(" - More of these words"); printf("\n\Words with digits %d ",wdigit); if(walpha < wdigit) printf(" - More of these words"); getch(); }
Объяснение кода листинга программы
В этом коде определенная задача реализуется с помощью языка программирования C. Вот список действий, выполняемых в коде:
- Включаются необходимые заголовочные файлы.
- Устанавливается размер массива text на 100 символов.
- В функции main() очищается экран и запрашивается ввод строки.
- Введенная строка сохраняется в массиве text.
- Инициализируются счетчики walpha и wdigit, которые отслеживают количество слов, содержащих только буквы и только цифры соответственно.
- Происходит проход по каждому символу введенной строки.
- Если текущий символ является буквой и следующий символ не является буквой или цифрой, то увеличивается счетчик walpha.
- Если текущий символ является цифрой и следующий символ не является буквой или цифрой, то увеличивается счетчик wdigit.
- После прохода по всем символам выводится количество слов, содержащих только буквы, и количество слов, содержащих только цифры.
- Выводится сообщение, указывающее, каких слов больше.
- Программа ожидает нажатия клавиши для завершения работы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д