Solutions détaillées pour les exercices en C
Solution pour l'exercice 1 :
Exercice 1 :
Pour produire les affichages demandés avec deux boucles for :
(a)
```c
#include <stdio.h>
int main() {
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= 3; j++) {
printf("%d ", j);
printf("\n");
return 0;
```
(b)
```c
#include <stdio.h>
int main() {
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= i; j++) {
printf("%d ", j);
printf("\n");
}
return 0;
```
(c)
```c
#include <stdio.h>
int main() {
for (int i = 1; i <= 4; i++) {
for (int j = 1; j <= i; j++) {
printf("%d ", i * j);
printf("\n");
return 0;
```
Solution pour l'exercice 2 :
Exercice 2 :
Pour produire les mêmes affichages que l'exercice 1 en utilisant des boucles while :
(a)
```c
#include <stdio.h>
int main() {
int i = 1;
while (i <= 4) {
int j = 1;
while (j <= 3) {
printf("%d ", j);
j++;
printf("\n");
i++;
return 0;
```
(b)
```c
#include <stdio.h>
int main() {
int i = 1;
while (i <= 4) {
int j = 1;
while (j <= i) {
printf("%d ", j);
j++;
printf("\n");
i++;
return 0;
}
```
(c)
```c
#include <stdio.h>
int main() {
int i = 1;
while (i <= 4) {
int j = 1;
while (j <= i) {
printf("%d ", i * j);
j++;
printf("\n");
i++;
return 0;
```
Solution pour l'exercice 3 :
Exercice 3 :
```c
#include <stdio.h>
int main() {
int i;
printf("Entrez une valeur pour i : ");
scanf("%d", &i);
for (int ligne = 1; ligne <= i; ligne++) {
for (int col = 1; col <= ligne; col++) {
printf("%d", ligne);
printf("\n");
return 0;
```
Solution pour l'exercice 4 :
Exercice 4 :
```c
#include <stdio.h>
int main() {
int choix;
do {
printf("Voulez-vous quitter le programme ? (0 pour oui, autre pour non) : ");
scanf("%d", &choix);
} while (choix != 0);
printf("Programme terminé.\n");
return 0;
```
Solution pour l'exercice 5 :
Exercice 5 :
```c
#include <stdio.h>
int main() {
int N;
do {
printf("Entrez un entier N (1 <= N < 10) : ");
scanf("%d", &N);
} while (N < 1 || N >= 10);
for (int i = 1; i <= 10; i++) {
printf("%d x %d = %d\n", N, i, N * i);
return 0;
```
Solution pour l'exercice 6 :
Exercice 6 :
```c
#include <stdio.h>
int main() {
for (int N = 1; N <= 9; N++) {
for (int i = 1; i <= 10; i++) {
printf("%d x %d = %d\n", N, i, N * i);
printf("******************************\n");
return 0;
}
```
Solution pour l'exercice 7 :
Exercice 7 :
```c
#include <stdio.h>
int main() {
for (int bloc = 0; bloc < 3; bloc++) {
for (int N = 1 + bloc * 3; N <= 3 + bloc * 3; N++) {
for (int i = 1; i <= 10; i++) {
printf("%d x %d = %d\n", N, i, N * i);
printf("\n");
printf("******************************\n");
return 0;
```
Solution pour l'exercice 8 :
Exercice 9 :
Algorithme pour addition, soustraction, multiplication et division de fractions.
```c
#include <stdio.h>
int main() {
int NA, DA, NB, DB;
printf("Entrez la fraction A (NA/DA) : ");
scanf("%d/%d", &NA, &DA);
printf("Entrez la fraction B (NB/DB) : ");
scanf("%d/%d", &NB, &DB);
if (DA == 0 || DB == 0) {
printf("Erreur : le dénominateur ne peut pas être nul.\n");
return 1;
int S_num = NA * DB + NB * DA;
int S_den = DA * DB;
int P_num = NA * NB;
int P_den = DA * DB;
printf("Somme : %d/%d\n", S_num, S_den);
printf("Produit : %d/%d\n", P_num, P_den);
if (NB != 0) {
int R_num = NA * DB;
int R_den = DA * NB;
printf("Quotient : %d/%d\n", R_num, R_den);
} else {
printf("Erreur : Division par zéro.\n");
return 0;
```