Строки Си - вопрос №673145

Кто может объяснить тему «строки» ?

Задание:

Распечатать введенное предложение, удалив из него слова, которые состоят менее чем из n букв. Считать. что предложение – это последовательность слов с точкой в конце. Слово – последовательность символов, не принадлежащих символам – разделителям. Число букв n задать в командной строке.

Моя версии программы, которая не работает:

#include <string.h>

#include <stdio.h>

#include <conio.h>

int main()

{

       unsigned int n;

       char *find,*simvoli=".!?";

       char text[]=«I like this programm becouse it likes me.»;

       scanf("%u",&n);

       find=strtok(text,find);

       while(find)

             if(strlen(find)<n)

                    printf("%s",find);

       return 0;

}

Программу надо сделать чисто на Си, без использования возможностей Си++.

27.06.13
1 ответ

Лучший ответ по мнению автора

#include <string.h><br #include <stdio.h><br #include <conio.h><br <br int main()<br <br {<br <br unsigned int n;<br <br char slova[100][20]={""};<br <br char text[]="I like this programm becouse it likes me.";<br <br scanf("%u",&n);<br <br int i,j,ii;<br j=0;<br ii=0;<br <br for(i=0;i<strlen(text);i++)<br {<br if(text[i]==' ')<br {<br ii++;<br j=0;<br }<br else<br {<br slova[ii][j]=text[i];<br j++;<br }<br if(text[i]=='.')<br {<br slova[ii][--j]='\0';<br break;<br }<br }<br <br for(i=0;i<=ii;i++)<br {<br if(strlen(slova[i])>=n)<br {<br printf("%s ",slova[i]);<br }<br }<br <br return 0;<br <br }
28.06.13
Лучший ответ по мнению автора
Посмотреть всех экспертов из раздела Технологии > C/C++
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store