Определить среднюю длину слов в предложении - C (СИ)
Формулировка задачи:
Решение задачи: «Определить среднюю длину слов в предложении»
int main()
{
char stroka[50];
int i = 0;
int c;
while((c = getchar()) !='\n') {
stroka[i++] = c;
}
stroka[i] = '\0';
char *y = stroka;
int z = 0;
int m = 0;
int sum = 0;
while(1) {
if(*y == ' ' || *y == '\0') {
sum+=z;
m++;
if(*y == '\0')break;
z = 0;
}
y++;
z++;
}
printf("%d" , (sum-m+1)/m);
}
Объяснение кода листинга программы
В этом коде считывается предложение с помощью стандартной функции getchar() до нажатия клавиши Enter. Ввод сохраняется в массиве stroka. Затем, используя функцию printf, выводится средняя длина слова в предложении. Слова разделены пробелами, и их количество подсчитывается в переменной m. Для вычисления средней длины слова используется формула: (сумма длин всех слов + 1) / количество слов. Сумма длин всех слов сохраняется в переменной sum. В переменной z хранится текущая длина слова. Когда встречается пробел или конец строки, текущая длина слова добавляется к сумме (sum), увеличивается счетчик слов (m) и сбрасывается z до 0. Если встречается конец строки, то происходит выход из цикла. В конце программы выводится средняя длина слова с помощью функции printf.