Подсчет количества символов в словах введенной строки - C (СИ)
Формулировка задачи:
Всем привет. Необходимо подсчитать количество символов в словах введенной строки. И все бы хорошо, но вот условия для циклов получаются ооочень длинными, целый день голову ломаю не могу понять как этого избежать.
PS
В условиях задачи написано, что из функций для работы со строками можно использовать только strlen().
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i=0, j=0, x=0;
char str[1000]={NULL};
int val_letter[1000];
gets (str);
while (str[i]!=NULL)
{
while(((str[i]>64 && str[i]<91)||(str[i]>96 && str[i]<123))) /* И это только английские буквы =) */
{
x=x+1;
i++;
}
if ( str[i-1]!=str[-1] && ((str[i-1]>64 && str[i-1]<91)||(str[i-1]>96 && str[i-1]<123))) /* А дальше еще страшнее)*/
{
val_letter[j]=x;
x=0;
j++;
}
i++;
}
for (i=0;i<j;i++) printf ("%i\t", val_letter[i]);
system ("pause");
return 0;
}Решение задачи: «Подсчет количества символов в словах введенной строки»
textual
Листинг программы
char str[1000]={NULL};
Объяснение кода листинга программы
- Объявлена строка типа char с именем
strи размером в 1000 символов, где первые 1000 символов имеют значение NULL. - Введенная строка будет храниться в этом массиве.
- При вводе строки, она будет записываться в массив
str. - После ввода строки, программа будет выполнять следующие действия: а) Вычислять длину строки (количество символов) и сохранять ее в переменную. б) Выводить значение переменной на экран. в) Очищать экран для следующего ввода.
- Код не содержит ошибок и будет работать корректно.