Programmazione ed
Esercitazioni di Programmazione


<-- Torna alla lista delle soluzioni

Esercitazione 1

Esercizio 1

/* Scrivere un programma che date una variabile miglia di tipo int e una variabile km di tipo double chieda all’utente di inserire un numero di miglia, memorizzi tale valore nella variabile miglia, converta le miglia in km, memorizzi il valore risultante nella variabile km e stampi il risultato. (Usare l’operatore di casting esplicito; si noti che 1 miglio corrisponde a 1.609 km). */

#include <stdio.h>

int main() {
  int km;
  double mg;

  printf("Inserisci i kilometri: ");
  scanf(" %d", &km);
  mg = ((double) km) * 1.609;
  printf("%d kilometri eqivalgono a %lf miglia\n", km, mg);

  return 0;
}


Esercizio 2

/* Scrivere un programma che richieda in ingresso un numero intero maggiore di zero che corrisponde ad un anno (es. 2002) e determini se l’anno inserito corrisponde ad un anno bisestile.
Si ricordi che un anno è bisestile se
- è divisibile per 4 ma non per 100
- oppure è divisibile per 400.
Per esempio, 1900 e 2010 non sono anni bisestili, mentre 1996 e 2000 lo sono. Il programma deve stampare “l’anno ... è bisestile” oppure “l’anno ... non è bisestile”.*/

#include <stdio.h>

int main() {

	int anno;

	printf("Inserisci un anno: ");
	scanf(" %d", &anno);

	if((anno % 4 == 0 && anno % 100 != 0) || anno % 400 == 0)
		printf("L'anno %d e' bisestile\n", anno);
	else
		printf("L'anno %d non e' bisestile\n", anno);

	return 0;
}


Esercizio 3

/* Scrivere un programma che richieda in ingresso tre numeri interi e ne determini il maggiore e il minore */

#include <stdio.h>

int main() {

	int a, b, c, max, min;

	printf("Inserisci tre numeri: ");
	scanf(" %d", &a);
	scanf(" %d", &b);
	scanf(" %d", &c);

	if (a >= b) {
		max = a;
		min = b;
	}
	else {
		max = b;
		min = a;
	}
	if(c > max) max = c;
	if(c < min) min = c;
	printf("Il valore massimo e' %d\n", max);
	printf("Il valore minimo e' %d\n", min);

	return 0;
}


<-- Torna alla lista delle soluzioni