Exercices langage C corrigé application I

Solution Exercice 1

#include <stdio.h>
main()
{
	int A, B, C, AIDE;
	printf("Introduisez trois nombres (A, B, C) : ");
	scanf("%i %i %i", &A, &B, &C);
 	/* Affichage à l'aide de tabulations */
	printf("A = %i\tB = %i\tC = %i\n", A, B, C);
 	AIDE=A;
	A=C;
	C=B;
	B=AIDE;
	printf("A = %i\tB = %i\tC = %i\n", A, B, C);
 	return 0;
}

Solution  Exercice 2

#include <stdio.h>
main()
{
	int A, B;
	printf("Introduisez deux nombres entiers : ");
	scanf("%i %i", &A, &B);
 	printf("Division entiere   :  %i\n", A/B);
	printf("Reste              :  %i\n", A%B);
	printf("Quotient rationnel :  %f\n", (float)A/B);
	return 0;
}

Remarque: Conversion des types

Pour obtenir un résultat rationnel, il faut qu’au moins l’une des deux opérandes soit d’un type rationnel. Si nous convertissons la valeur de l’opérande A en float à l’aide de l’opérateur de conversion forcée, alors la valeur de la deuxième opérande B est convertie automatiquement en float. Le résultat de la division est du type float et doit être représenté par le spécificateur de format %f (ou %e).

Remarquez bien que la conversion forcée concerne uniquement la valeur de la variable A ! La valeur de B est convertie automatiquement.

D’autre part, si nous écrivions:

(float)(A/B)

nous n’obtiendrions pas le résultat désiré, parce que la conversion se ferait seulement après la division !

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *