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.
Scrivere un programma che:
1. legga da tastiera una stringa che non contiene caratteri di spaziatura e la stampi
2. legga da tastiera una stringa che contiene caratteri di spaziatura e la stampi
3. legga da tastiera una stringa che contiene caratteri di spaziatura e la stampi, ne stampi anche la lunghezza
4. legga da tastiera due stringhe qualsiasi di massimo 10 caratteri e:
- ne stampi la lunghezza (strlen())
- le stampi in ordine "alfabetico" (strcmp())
5. modificare la seguente funzione di modo da correggere l'errore di "lingering pointer" presente:
char *read_line(void){
char tmp[2000];
scanf("%[^\n]", tmp);
return tmp;
}
6. legga da tastiera una frase e la converta in l33t (basic)
ovvero converta le seguenti lettere (maiuscole e minuscole) con i caratteri o sequenze di caratteri indicati
A -> 4
E -> 3
G -> 6
I -> 1
O -> 0
S -> 5
T -> 7
7. come il (6) in cui però si convertono anche:
B -> |3
D -> |)
R -> |2
U -> (_)
8. chieda due parole e verifichi se una e' anagramma dell'altra
9. legga da tastiera due stringhe qualsiasi di massimo 10 caratteri e:
- le concateni e le stampi dapprima usando un array statico come destinazione e successivamente un array allocato dinamicamente (strcat())
- verifichi se la seconda stringa e' contenuta nella prima e, in caso affermativo, in che posizione (strstr())
- chieda un carattere e stampi quante volte quel carattere è contenuto nella prima stringa (strchr())
- usi il carattere precedente a mo' di delimitatore per suddividere la prima stringa in sottostringhe e le si stampino (strtok())
Se avete commenti o osservaƶioni su questa pagina
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it