ra
Высший разум
(113244)
10 лет назад
fgets (str, 201, stdin);
В конце полученной строки есть символ '\n', это надо анализировать.
Похоже, тут просто ищется максимальная длина слова. Причем тогда тут числа (Поиск кол-ва символов наибольшего числа в строке) ?
> Поиск кол-ва символов наибольшего числа в строке
Чего-чего? Напиши ка лучше полностью текст задания.
Короче, подправил твою программу, как мог:
#include <stdio.h>
int main() {
char str [201];
int s = 0, mx = 0;
printf ("string? ");
fgets (str, 201, stdin);
for (int c = 0; str[c] != '\0' ; ++c) {
if (str[c] != ' ' && str[c] != '\n') {
s++;
} else {
if (mx < s) mx = s;
s = 0;
}
}
printf ("result: %d\n", mx);
}
Вывод самого длинного слова:
#include <stdio.h>
int main() {
char str [202];
int s = 0, mx = 0, in = 0, bc = 0, mc = 0;
printf ("string? ");
fgets (str, 202, stdin);
for (int c = 0; str[c] != '\0' ; ++c) {
if (!in && str[c] != ' ' && str[c] != '\n') {
in = s = 1;
bc = c;
} else if (in && (str[c] == ' ' || str[c] == '\n')) {
if (s > mx) {
mx = s;
mc = bc;
}
s = 0;
in = 0;
} else {
++s;
}
}
printf("result: %d, ", mx);
for (int c = mc; c <= mc + mx; ++c) printf("%c", str[c]);
putchar('\n');
}
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <cstdio>
using namespace std;
int main()
{
char str [200];
printf ("string? ");
fgets (str, 201, stdin);
int s, max;
s=0; max=0;
for (int i=0; ((i<200) && str!=0); i++)
if (str!=' ') {s++;}
else if (max