Exercice d'application langage C -1

Exercice 4.4

 

Ecrire un programme qui permute et affiche les valeurs de trois variables A, B, C de type entier qui sont entrées au clavier :

A ==> B , B ==> C , C ==> A

 


Exercice 4.5

 

Ecrire un programme qui affiche le quotient et le reste de la division entière de deux nombres entiers entrés au clavier ainsi que le quotient rationnel de ces nombres.

 


 

Solution Exercice 4.4


#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 4.5

#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 !