Подсчёт количества звонких букв в строке - исправить код - C (СИ)
Формулировка задачи:
Возникли трудности с написание программы подсчёта количества звонких букв в строке. Строка вводится на английскими буквами. Помогите пожалуйста.
Помогите сделать не так коряво как сделал я
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> #include <ctype.h> #include <conio.h> void main(){ char string[20]; int j,k,res; int i=0; char s; printf("Vvedite text"); i=0; do{s=getchar(); string[i++]=s; } while (s!='\n'); string[--i]='\0'; res=strlen(string); k=0; for(i=1;i<=res;i++) if(string[i]=='b') k++; for(i=1;i<=res;i++) if(string[i]=='v') k++; for(i=1;i<=res;i++) if(string[i]=='g') k++; for(i=1;i<=res;i++) if(string[i]=='d') k++; for(i=1;i<=res;i++) if(string[i]=='z') k++; for(i=1;i<=res;i++) if(string[i]=='l') k++; for(i=1;i<=res;i++) if(string[i]=='m') k++; for(i=1;i<=res;i++) if(string[i]=='n') k++; for(i=1;i<=res;i++) if(string[i]=='r') k++; printf("Zvonkih = %d",k); getch(); }
Решение задачи: «Подсчёт количества звонких букв в строке - исправить код»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <string.h> int main() { const char CChars[] = "bvgdzlmnr"; char str[256] = { '\0' }; unsigned k = 0, i, len; printf("text: "); fgets(str, sizeof(str) - 1, stdin); len = strlen(str); for (i = 0; i < len; ++i) { if (strchr(CChars, str[i])) { k++; } } printf("k = %d\n", k); system("pause"); return 0; }
Объяснение кода листинга программы
В этом коде:
- Объявлены две константы: CChars и k. Значение первой представляет собой строку, состоящую из букв латинского алфавита. Значение второй - 0.
- Объявлена переменная str типа char, которая является массивом символов. Её инициализируют нулевым символом.
- В основной функции main() выводится приглашение для ввода текста.
- Затем с помощью функции fgets() вводят строку, длина которой не превышает 255 символов.
- Переменная len получает значение, равное длине введённой строки.
- В цикле for перебираются все символы введённой строки.
- Если символ является буквой (это проверяется с помощью функции strchr(), которая ищет символ в строке CChars), то к переменной k прибавляется единица.
- После окончания цикла выводится значение переменной k, которое представляет собой количество букв в введённой строке.
- Затем с помощью функции system() приостанавливается выполнение программы до нажатия клавиши.
- В конце функции main() возвращается 0, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д