Scrivere un programma che prende in input 10 valori interi ne calcola la media e poi stampa la media e il valore (tra i 10 presi in input) che più si discosta dalla media. Ad esempio, se i 10 valori sono 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 allora la media è 5.5 e il valore che più si discosta dalla media è 1 oppure 10.
Scrivere un programma che prende in input un intero n e poi genera, tramite la funzione rand(), n numeri "casuali" compresi tra 1 e 100, ne calcola la media e il massimo scarto dalla media (cioè, la massima differenza in valore assoluto tra uno dei numeri generati e la loro media). Il programma infine stampa la media e il massimo scarto. Ad esempio, se n = 5 e i numeri generati sono 3, 56, 23, 12, 79 allora la media è 41.2 e il massimo scarto è 38.2.
Scrivere un programma che prende in input una stringa tramite la specifica di conversione "%s" (si assuma che la stringa non abbia più di 100 caratteri) e controlli se c'è un carattere doppio, cioè, un carattere che appare nella stringa ripetuto almeno due volte in posizioni consecutive. Il programma se c'è un carattere doppio lo stampa altrimenti stampa "non ci sono doppi". Ad esempio, se la stringa è "tutto e niente" il programma stampa "t", se la stringa è "niente per niente" il programma stampa "non ci sono doppi".
Scrivere un programma che prende in input un intero n e genera, tramite la funzione rand(), n numeri "casuali" compresi tra 1 e 100, poi conta per ogni valore tra 1 e 100 quante volte è stato generato e stampa il numero massimo di volte che un valore è stato generato. Ad esempio, se n = 10 e i valori generati sono 2, 15, 67, 12, 15, 88, 67, 15, 71, 45 allora il programma stampa 3 (perché il 15 è stato generato 3 volte e nessun'altro valore è stato generato più di 3 volte).
Scrivere un programma che prende in input 10 valori in virgola mobile (tipo float) e stampa un istogramma dei 10 valori. A fianco di ogni valore viene stampata una riga di asterischi la cui lunghezza è proporzionale al valore. Esempio di esecuzione del programma:0) inserisci un numero: 0.6 1) inserisci un numero: 5.8 2) inserisci un numero: 2.97 3) inserisci un numero: 4 4) inserisci un numero: 3.05 5) inserisci un numero: 7.86 6) inserisci un numero: 8.05 7) inserisci un numero: 2.59 8) inserisci un numero: 5.8 9) inserisci un numero: 9.43 0.60 * 5.80 ****************** 2.97 ********* 4.00 ************ 3.05 ********* 7.86 ************************* 8.05 ************************* 2.59 ******** 5.80 ****************** 9.43 ******************************
Nota per lo studente: provare a risolvere l'esercizio senza utilizzare la funzione matematica fabs().#include <stdio.h> #include <math.h> #define MAX_ITEMS 10 int main (void) { int counter, value[MAX_ITEMS] = {0}; float avg; for (counter = 0; counter < MAX_ITEMS; counter++) { printf ("Inserisci un numero intero: "); scanf ("%d", &value[counter]); avg += value[counter]; } avg /= 10.0; float max_scarto = 0.0; int elem_max_scarto; for (counter = 0; counter < MAX_ITEMS; counter++) { if (fabs(value[counter] - avg) > max_scarto) { max_scarto = fabs(value[counter] - avg); elem_max_scarto = value[counter]; } } printf ("Media %.3f, elemento di massimo scarto %d\n", avg, elem_max_scarto); return 0; }
#include <stdio.h> #include <stdlib.h> #include <math.h> #define MAX_ITEMS 100 int main (void) { int n; printf ("Inserisci un numero intero positivo: "); scanf ("%d", &n); srand(time (NULL)); int value[MAX_ITEMS] = {0}, counter; float avg = 0.0, max_scarto = 0.0; for (counter = 0; counter < n; counter++) { value[counter] = (rand() % 100) + 1; avg += value[counter]; } avg /= n; for (counter = 0; counter < n; counter++) { printf ("%d) %d\n", counter + 1, value[counter]); if (fabs(value[counter] - avg) > max_scarto) max_scarto = fabs(value[counter] - avg); } printf ("Media %.3f, massimo scarto %.3f\n", avg, max_scarto); return 0; }
#include <stdio.h> #define MAX_STRING 100 int main (void) { char string[MAX_STRING] = {'\0'}; printf ("Inserisci la stringa: "); scanf("%s", string); int counter = 0, trovato_doppio = 0; while(counter < MAX_STRING - 1) { int i = counter; while (i < MAX_STRING - 1 && string[i] == string[i + 1] && string[i] != '\0') i++; if (i > counter) { printf("%c\n", string[i]); trovato_doppio = 1; } counter = i + 1; } if (!trovato_doppio) printf("Non ci sono doppi\n"); return 0; }
#include <stdio.h> #include <stdlib.h> #define MAX_VALUE 100 int main (void) { int n; printf ("Inserisci un numero: "); scanf ("%d", &n); srand(time (NULL)); int value[MAX_VALUE] = {0}, freq[100] = {0}, counter = 0, max_freq = 0; for (counter = 0; counter < n; counter++) { value[counter] = (rand() % 100) + 1; printf ("%d) %d\n", counter + 1, value[counter]); freq[ value[counter] - 1 ]++; } for (counter = 0; counter < 100; counter++) { if (freq[counter] > max_freq) max_freq = freq[counter]; } printf ("%d\n", max_freq); return 0; }
#include <stdio.h> int main (void) { float value[10] = {0.0}, max = 0.0; int counter; for (counter = 0; counter < 10; counter++) { printf ("Inserisci un numero: "); scanf("%f", &value[counter]); if (value[counter] > max) max = value[counter]; } for (counter = 0; counter < 10; counter++) { printf ("%.2f\t", value[counter]); int ast = (int)(30.0 * value[counter]/max); while(ast > 0) { printf ("*"); ast--; } printf ("\n"); } return 0; }
![]() |
![]() |
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica ![]() |
|
![]() |
![]() |