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 !