👤

Cerinţa Să se scrie un program care citește mai multe propoziții și determină propoziția cu cele mai multe cuvinte. Date de intrare Fișierul de intrare cuvmax.in conține pe prima linie un număr natural n, iar pe următoarele n linii câte o propoziție alcătuită din litere mici ale alfabetului englez și spații. Date de ieşire Fișierul de ieșire cuvmax.out va conține pe prima linie propoziția cu cele mai multe cuvinte. Restricţii şi precizări 0

Răspuns :

#include <bits/stdc++.h>
using namespace std;
int n,i,nr,nrmax;
char s[260], *p, sol[260], t[260];
int main()
{
    freopen("cuvmax.in", "r", stdin);
    freopen("cuvmax.out", "w", stdout);
    scanf("%d\n", &n);
    for(i = 1; i <= n; ++ i)
    {
        gets(s);
        memset(t, 0, sizeof(t));
        strcpy(t, s);
        p = strtok(t," ");
        nr = 1;
        while(p != NULL)
        {
            nr ++;
            p = strtok(NULL," ");
        }
        if(nr > nrmax)
        {
            nrmax = nr;
            strcpy(sol, s);
        }
    }
    printf("%s",sol);
    return 0;
}