Подсчитать количество слов в строке - 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;
}