Baio84
25-05-2012, 11:58
Sto cercando di imparare con calma il linguaggio C.
Nel libro che sto leggendo ci sono anche degli esercizi e mi sto dilettando a svolgerli.
Il problema riguarda questo semplice esercizio: devo prendere in input 3 numeri interi e poi calcolarne la somma, la media, il prodotto, dire quale sia il più piccolo e il più grande. Ecco il mio codice:
#include <stdio.h>
int main ()
{
int a, b, c, piccolo = a, grande = a;
printf ( "Inserisci tre numeri interi: " );
scanf ( "%d%d%d", &a, &b, &c );
printf ( "La somma è: %d\n", a + b + c );
printf ( "La media è: %d\n", (a + b + c) / 3 );
printf ( "Il prodotto è: %d\n", a * b * c );
if ( piccolo > b )
piccolo = b;
if ( piccolo > c )
piccolo = c;
printf ( "Il più piccolo è: %d\n", piccolo );
if ( grande < b )
grande = b;
if ( grande < c )
grande = c;
printf ( "Il più grande è: %d\n", grande );
return 0;
}
Va tutto alla grande fino a quando mi deve dire il numero più grande. Mi ritorna un numero enorme non digitato. Forse sbaglio nelle dichiarazioni delle variabili?
Nel libro che sto leggendo ci sono anche degli esercizi e mi sto dilettando a svolgerli.
Il problema riguarda questo semplice esercizio: devo prendere in input 3 numeri interi e poi calcolarne la somma, la media, il prodotto, dire quale sia il più piccolo e il più grande. Ecco il mio codice:
#include <stdio.h>
int main ()
{
int a, b, c, piccolo = a, grande = a;
printf ( "Inserisci tre numeri interi: " );
scanf ( "%d%d%d", &a, &b, &c );
printf ( "La somma è: %d\n", a + b + c );
printf ( "La media è: %d\n", (a + b + c) / 3 );
printf ( "Il prodotto è: %d\n", a * b * c );
if ( piccolo > b )
piccolo = b;
if ( piccolo > c )
piccolo = c;
printf ( "Il più piccolo è: %d\n", piccolo );
if ( grande < b )
grande = b;
if ( grande < c )
grande = c;
printf ( "Il più grande è: %d\n", grande );
return 0;
}
Va tutto alla grande fino a quando mi deve dire il numero più grande. Mi ritorna un numero enorme non digitato. Forse sbaglio nelle dichiarazioni delle variabili?