Ritorna alla pagina del corso.
Questa pagina contiene gli esercizi proposti in laboratorio e -alcune- delle soluzioni proposte.
Si suggerisce di provare a risolvere gli esercizi e solo in un secondo tempo di confrontare quanto fatto con le soluzioni proposte.
01: /*
02: 4. legga da tastiera due stringhe qualsiasi di massimo 10 caratteri e:
03: - ne stampi la lunghezza (strlen())
04: - le stampi in ordine "alfabetico" (strcmp())
05: */
06:
07: #include<stdio.h>
08: #include<stdlib.h>
09: #include<string.h>
10:
11: int main(int argc, char **argv){
12: char s1[11], s2[11];
13:
14: printf("Inserisci una stringa: ");
15: scanf("%[^\n]", s1);
16: printf("Inserisci una stringa: ");
17: scanf(" %[^\n]", s2); // attenzione, ci vuole uno spazio per fare in modo che la scanf() ignori l'"a capo" del precedente inserimento rimasto nel buffer di tastiera
18:
19: printf("Hai inserito le stringhe '%s' e '%s' che sono composte dal %ld e %ld caratteri rispettivamente\n",
20: s1,
21: s2,
22: strlen(s1),
23: strlen(s2)
24: );
25:
26: if(strcmp(s1, s2) > 0)
27: {
28: printf("In ordine ASCII sono %s e %s\n", s2, s1);
29: }
30: else
31: {
32: printf("In ordine ASCII sono %s e %s\n", s1, s2);
33: }
34:
35:
36: return 0;
37: }
38:
39: