Esercizio stringhe in C?!?

Salve, dovrei stampare tutte le parole che iniziano o che contengono una maiuscola di una strings (dunque di una frase), ma riesco solo a contare quante maiuscole ci sono. Ecco il mio codice

#include <stdio.h>

#include <string.h>

int main(){

 char s[100];

    int l;

    int cont=0;

    int j=0;

    char s1[100];

    printf("Inserisci frase: ");

    fgets(s,100,stdin);

    l=strlen(s)-1;

    for(int i=0;i<l;i++)

    {

     if(s[i]>='A' && s[i]<='Z')

  {

   while(s[i+1]!= '\0' )

   {

               s1[j]=s[i];

               j++;

               i++;

   }

   }

 }

/*

for(j=0;j<l;j++)

{

 printf(" %d",s1[j]);

}

*/

}

1 risposta

Classificazione
  • Anonimo
    4 sett fa

    Solo un aiuto logico. La strategia è trovare il numero delle parole che formano la frase, poi separarle utilizzando un secondo vettore. Indi, le esamini singolarmente e, se soddisfano i criteri, le stampi.

    Qui c'è la prima parte:

    #include <stdio.h>

    #include <string.h>

    main()

    {

     char s[100],t[10][22];

     int i,l,cont=0,j=0,p=0;

     printf("Inserisci frase: ");

     gets(s);

     l=strlen(s);

     for(i=0;i<l;i++)

       {

         if(s[i]==' ')

         p++;

       }

    printf("\nCi sono %d parole.",++p);

    for(i=0;i<p;i++)

    do{

        }

    }

    • Ciao grazie per la risposta, ma non capisco che condizione mettere. Cioè non capisco come esaminare le parole singolarmente

Altre domande? Fai una domanda e ottieni le risposte che cerchi.