Найти слово, в котором букв “А” больше, чем в других - C (СИ)
Формулировка задачи:
Здравствуйте! Напишите пожалуйста код для данной задачи. Просто понятия не имею как работать со строками , только примерно.
Вот задача :
Дан текст, слова в котором разделены хотя бы одним пробелом. Найти слово, в котором букв “А” больше, чем в других.
Буду очень признателен , заранее спасибо.
Решение задачи: «Найти слово, в котором букв “А” больше, чем в других»
textual
Листинг программы
#include <stdio.h>
#include <string.h>
#define N 256
int main(void)
{
char a[N]="Caap haarp book the fool abracadabra alternative apanage";
int i,max=0,j=0,maxi=0,b=0;
for(i=0;a[i]!='\0';i++)
{
if(a[i]!=' '&&(i==0||a[i-1]==' '))
{
b==i;
while(a[b++]!=' ')
{
if(a[b]=='\0')break;
if(a[b]=='a')j++;
}
if(max<j)
{
max=j;
maxi=i;
}
j=0;
}
}
while(a[maxi]!=' '&&a[maxi]!='\0'){ printf("%c",a[maxi]);maxi++;}
printf("\n");
return (0);
}
Объяснение кода листинга программы
В этом коде на языке C ищется слово, в котором букв А больше, чем в других.
Список действий:
- Вводится строка, в которой нужно найти слово с наибольшим количеством букв
А. - Инициализируются переменные:
- i - счётчик для прохода по строке;
- max - счётчик для хранения максимального количества букв
А; - j - счётчик для хранения текущего количества букв
А; - maxi - счётчик для хранения позиции первого символа найденного слова;
- b - счётчик для прохода по текущему слову.
- Происходит проход по каждому символу строки. Если символ не является пробелом и текущий символ является первым символом слова (или предыдущий символ был пробелом), то начинается счётчик букв
Ав этом слове. - Если текущий символ является пробелом или концом строки, то проверяется, является ли текущее слово словом с наибольшим количеством букв
А. Если да, то сохраняются позиция первого символа и количество буквА. - После прохода по всей строке выводится найденное слово.
Пример ввода:
Caap haarp book the fool abracadabra alternative apanageПример вывода:abracadabra