Подсчитать количество слов в строке - C (СИ) (71902)

Узнай цену своей работы

Формулировка задачи:

Помогите перевести программу с паскаля на си. Вот задание для удобства. Дано натуральное число n и последовательность символов s1 ... sn (строка). Группы символов разделены одним или несколькими пробелами, будем называть слова. Подсчитать количество слов в данной строке.
 uses crt;
var s:string;
i,slov:integer;
schet:boolean;
BEGIN
ClrScr;
WriteLn('Vvedite stroky');
ReadLn(s);
slov:=0;
schet:=true;
for i:=1 to Length(s) do
if s[i]=' ' then schet:=true
else
begin
if schet then inc(slov);
schet:=false;
end;
WriteLn('Kol-vo slov= ',slov);
ReadLn;
END.

Решение задачи: «Подсчитать количество слов в строке»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int wc(char * s, const char * delim) {
    return ( s = strtok(s, delim) ) ? 1 + wc(NULL, delim) : 0;
}
 
#define DELIM " \t\n"
 
int main(void) {
    char buf[BUFSIZ];
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' )
        printf("%d word(s).\n", wc(buf, DELIM));
    
    return 0;
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 3.786 из 5
Похожие ответы