/*programma che stampa la stringa piu' lunga fra quelle inserite da  input; l'inserimento delle stringhe  termina digitando il carattere '/';  stampa  la stringa , senza utilizzo della funzione gets o scanf e della strcmp*/

#include<stdio.h>
#include<string.h>
int main()
{
char car,ch='1';
int i=0,k,cont_caratteri=0;
char array[81];
char array_stringa_piu_lunga[81]=""; 
/*programma senza utilizzo della gets, o della scanf e della strcmp
utilizzante due cicli while annidati ; a scopo didattico */

printf("\ninserite una stringa / per uscire\n");
 while((ch=getchar())!='/')
 {
 array[0]=ch;
/*carattere acquisito dalla prima getchar*/
  while((ch=getchar())!='\n')
  {
  array[i+1]=ch;
  i++;
  }
 array[i+1]='\0';
/* chiusura esplicita della stringa*/

 i=0;
/*azzeramento indice array*/
 if(strlen(array) >= strlen(array_stringa_piu_lunga))
  strcpy(array_stringa_piu_lunga,array);
   for(k=0;k<81;k++) /*svuotamento array*/
    array[k]='\0';
}
printf("\n
la stringa piu lunga e': %s ",array_stringa_piu_lunga);
printf("\ninserire un carattere per uscire\n");
scanf("\n%c",&car);
return 0;

}

 

return to programmi