📢 Nuovo Corso Laravel API disponibile!

Esercizi lavorare con le stringhe in C

Ecco degli esercizi semplici con soluzione per praticare le basi su come lavorare con le stringhe in C.

Esercizio 1

Chiedere all'utente di inserire una stringa e calcolarne la lunghezza.
#include <stdio.h>
#include <string.h>
int main() {
char stringa[100];
printf("Inserisci una stringa: ");
scanf("%s", stringa);
int lunghezza = strlen(stringa);
printf("La lunghezza della stringa è: %d\n", lunghezza);
return 0;
}

Esercizio 2

Chiedere all'utente di inserire due stringhe e concatenarle insieme.
#include <stdio.h>
#include <string.h>
int main() {
char stringa1[100], stringa2[100];
printf("Inserisci la prima stringa: ");
scanf("%s", stringa1);
printf("Inserisci la seconda stringa: ");
scanf("%s", stringa2);
strcat(stringa1, stringa2);
printf("La stringa concatenata è: %s\n", stringa1);
return 0;
}

Esercizio 3

Chiedere all'utente di inserire una stringa e copiarla in un'altra variabile.
#include <stdio.h>
#include <string.h>
int main() {
char stringa1[100], stringa2[100];
printf("Inserisci una stringa: ");
scanf("%s", stringa1);
strcpy(stringa2, stringa1);
printf("La stringa copiata è: %s\n", stringa2);
return 0;
}

Esercizio 4

Chiedere all'utente di inserire due stringhe e confrontarle per determinare se sono uguali.
#include <stdio.h>
#include <string.h>
int main() {
char stringa1[100], stringa2[100];
printf("Inserisci la prima stringa: ");
scanf("%s", stringa1);
printf("Inserisci la seconda stringa: ");
scanf("%s", stringa2);
int confronto = strcmp(stringa1, stringa2);
if (confronto == 0) {
printf("Le stringhe sono uguali.\n");
} else {
printf("Le stringhe sono diverse.\n");
}
return 0;
}

Esercizio 5

Chiedere all'utente di inserire una stringa e una sottostringa, quindi cercare la sottostringa all'interno della stringa.
#include <stdio.h>
#include <string.h>
int main() {
char stringa[100], sottostringa[100];
printf("Inserisci una stringa: ");
scanf("%s", stringa);
printf("Inserisci una sottostringa: ");
scanf("%s", sottostringa);
char *trovato = strstr(stringa, sottostringa);
if (trovato != NULL) {
printf("La sottostringa è presente nella stringa.\n");
} else {
printf("La sottostringa non è presente nella stringa.\n");
}
return 0;
}

Esercizio 6

Chiedere all'utente di inserire una stringa e convertirla in maiuscolo.
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char stringa[100];
printf("Inserisci una stringa: ");
scanf("%s", stringa);
int lunghezza = strlen(stringa);
for (int i = 0; i < lunghezza; i++) {
stringa[i] = toupper(stringa[i]);
}
printf("La stringa in maiuscolo è: %s\n", stringa);
return 0;
}

Esercizio 7

Chiedere all'utente di inserire una stringa e convertirla in minuscolo.
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main() {
char stringa[100];
printf("Inserisci una stringa: ");
scanf("%s", stringa);
int lunghezza = strlen(stringa);
for (int i = 0; i < lunghezza; i++) {
stringa[i] = tolower(stringa[i]);
}
printf("La stringa in minuscolo è: %s\n", stringa);
return 0;
}

Esercizio 8

Chiedere all'utente di inserire un nome e stampare un messaggio di benvenuto con il nome interpolato.
#include <stdio.h>
int main() {
char nome[100];
printf("Inserisci il tuo nome: ");
scanf("%s", nome);
printf("Benvenuto, %s!\n", nome);
return 0;
}

Esercizio 9

Chiedere all'utente di inserire una stringa con spazi bianchi iniziali e/o finali e rimuoverli.
#include <stdio.h>
#include <string.h>
int main() {
char stringa[100];
printf("Inserisci una stringa con spazi bianchi iniziali e/o finali: ");
scanf("%[^\n]s", stringa);
int lunghezza = strlen(stringa);
int inizio = 0, fine = lunghezza - 1;
while (stringa[inizio] == ' ') {
inizio++;
}
while (stringa[fine] == ' ') {
fine--;
}
stringa[fine + 1] = '\0';
printf("La stringa senza spazi bianchi è: %s\n", stringa + inizio);
return 0;
}

Esercizio 10

Chiedere all'utente di inserire una stringa contenente parole separate da spazi e dividerla in singoli token.
#include <stdio.h>
#include <string.h>
int main() {
char stringa[100];
printf("Inserisci una stringa con parole separate da spazi: ");
scanf("%[^\n]s", stringa);
char *token = strtok(stringa, " ");
while (token != NULL) {
printf("%s\n", token);
token = strtok(NULL, " ");
}
return 0;
}