Подсчёт количества звонких букв в строке - исправить код - 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, что означает успешный конец работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д