============================================================== ALCUNE SOLUZIONI ============================================================== 2. #include main() { int min, num; int i = 1; printf("Inserire 10 numeri interi: \n > "); scanf("%d", &min); while(i <= 9) { printf(" > "); scanf("%d", &num); if (num < min) min = num; i++; } printf("Minimo: %d\n", min); } ============================================================== 4. #include main() { int num, j; printf("Inserire gli interi non negativi: \n"); scanf("%d", &num); while(num >= 0) { printf("\n%d | ", num); for(j = 1; j <= num; j++) putchar('*'); scanf("%d", &num); } printf("\n"); } ============================================================== 5. #include #include #include main() { int numero, n; srand(time(NULL)); numero = (rand() % 100) + 1; do { printf("Indovina il numero: "); scanf("%d", &n); if (n < numero) printf("Il numero inserito e' minore del numero da indovinare.\n"); else if (n > numero) printf("Il numero inserito e' maggiore del numero da indovinare.\n"); } while(n != numero); printf("Hai indovinato!!! Il numero era %d\n", numero); } ============================================================== 6. #include #include #include main() { int lancio, nuovo_lancio, ctr, esiti; srand(time(NULL)); lancio = rand() % 2; printf("%d ", lancio); esiti = 1; ctr = 1; while (esiti < 5) { nuovo_lancio = rand() % 2; printf("%d ", nuovo_lancio); ctr++; if (lancio == nuovo_lancio) esiti++; else { lancio = nuovo_lancio; esiti = 1; } } printf("\nHai ottenuto 5 %d consecutivi, con %d lanci.\n", nuovo_lancio, ctr); } ============================================================== 7. #include main() { double a, b; char c; printf ("Inserisci un numero reale, un carattere e un altro numero reale: "); scanf ("%lg %c %lg", &a, &c, &b); switch(c) { case '+': printf("Somma: %5.2f\n", a+b); break; case '*': printf("Prodotto: %5.2f\n", a*b); break; default: printf("Primo valore: %5.2f\n", a); } ============================================================== 8. #include main() { int v; printf("voto: "); scanf("%d", &v); if (v < 0) printf("valore illecito\n"); else if (v <= 18) printf("Giudizio: i (insufficiente)\n"); else if (v <= 24) printf("Giudizio: s (sufficiente)\n"); else if (v <= 27) printf("Giudizio: b (buono)\n"); else if (v <= 30) printf("Giudizio: o (ottimo)\n"); else printf("valore illecito\n"); } ============================================================== 9. #include #include main() { int n, i, max_Divisore, primo; do { printf("Inserire un numero <= 50: "); scanf("%d", &n); } while (n > 50); if (n == 1) printf("1 non e' un numero primo.\n"); else { // controllo se n e' primo con un ciclo while: primo = 1; i = 2; // determino il massimo divisore da controllare: max_Divisore = (int)(sqrt(n)); while (primo && i <= max_Divisore) { if (n % i == 0) primo = 0; else i++; } if (primo) printf("%d e' un numero primo.\n", n); else printf("%d non e' un numero primo.\n", n); } } ============================================================== 10. #include main() { int n, i, j; printf("Dammi un numero: "); scanf("%d", &n); if (n < 0) n = n * (-1); for (i = 1; i <= n; i++) { for (j = 1; j <= n-i; j++) putchar(' '); for (j = 1; j <= 2*i - 1; j++) putchar('*'); putchar('\n'); } } ============================================================== 11. #include main() { int n, c1, c2, c4, c5; do { printf("Dammi un numero di 5 cifre: "); scanf("%d", &n); } while(n < 10000 || n > 99999); c1 = n / 10000; c5 = n % 10; if (c1 != c5) printf("%d non e' palindromo\n", n); else { c2= (n / 1000) % 10; c4 = (n / 10) % 10; if (c2 == c4) printf("%d e' palindromo\n", n); else printf("%d non e' palindromo\n", n); } } }