La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec le langage C et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur le langage C et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!
Vous pouvez lire notre tutoriel sur le langage C avant de résoudre les exercices suivants.
51. Écrire un programme en C qui convertit une température en degrés Celsius en degrés Fahrenheit. Utilisez les variables « celsius », « fahrenheit » et la formule de conversion pour effectuer le calcul.
Entrez la température en degrés Celsius: 45
La température en Fahrenheit est: 113
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
voidmain()
{
float celsius,fahrenheit;
printf("Entrez la température en degrés Celsius:");
scanf("%f",&celsius);
fahrenheit = (1.8 * celsius) + 32;
printf("La température en Fahrenheit est: %f ",fahrenheit);
return 0;
}
#include <stdio.h>
void main()
{
float celsius,fahrenheit;
printf("Entrez la température en degrés Celsius:");
scanf("%f",&celsius);
fahrenheit = (1.8 * celsius) + 32;
printf("La température en Fahrenheit est: %f ",fahrenheit);
return 0;
}
#include <stdio.h>
void main()
{
float celsius,fahrenheit;
printf("Entrez la température en degrés Celsius:");
scanf("%f",&celsius);
fahrenheit = (1.8 * celsius) + 32;
printf("La température en Fahrenheit est: %f ",fahrenheit);
return 0;
}
52. Écrire un programme en C qui permute ou échange deux nombres saisis par l’utilisateur, mais avec seulement deux variables N1 et N2 sans utiliser une variable temporaire.
Exemple de sortie:
Entrer le nombre N1 : 10
Entrer le nombre N2 : 5
------permutation------
N1 = 5
N2 = 10
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
intmain()
{
int N1,N2;
printf("Entrer le nombre N1:");
scanf("%d", &N1);
printf("Entrer le nombre N2:");
scanf("%d", &N2);
N1 = N1 + N2;
N2 = N1 - N2;
N1 = N1 - N2;
printf("N1 = %d\n", N1);
printf("N2 = %d", N2);
return 0;
}
#include <stdio.h>
int main()
{
int N1,N2;
printf("Entrer le nombre N1:");
scanf("%d", &N1);
printf("Entrer le nombre N2:");
scanf("%d", &N2);
N1 = N1 + N2;
N2 = N1 - N2;
N1 = N1 - N2;
printf("N1 = %d\n", N1);
printf("N2 = %d", N2);
return 0;
}
#include <stdio.h>
int main()
{
int N1,N2;
printf("Entrer le nombre N1:");
scanf("%d", &N1);
printf("Entrer le nombre N2:");
scanf("%d", &N2);
N1 = N1 + N2;
N2 = N1 - N2;
N1 = N1 - N2;
printf("N1 = %d\n", N1);
printf("N2 = %d", N2);
return 0;
}
53. Écrire un programme en C qui permute et affiche les valeurs des trois nombres (N1, N2 et N3) saisis par l’utilisateur, en ordre croissant c’est-à-dire (N1 < N2 < N3).
Exemple de sortie:
Entrer le nombre N1 : 10
Entrer le nombre N2 : 1
Entrer le nombre N3 : 5
------permutation------
N1 = 1
N2 = 5
N3 = 10
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
intmain()
{
int N1,N2,N3,tmp;
printf("Entrer le nombre N1:"); scanf("%d",&N1);
printf("Entrer le nombre N2:"); scanf("%d",&N2);
printf("Entrer le nombre N3:"); scanf("%d",&N3);
if(N1>N2){ tmp = N1; N1 = N2; N2 = tmp; }
if(N1>N3){ tmp = N1; N1 = N3; N3 = tmp; }
if(N2>N3){ tmp = N2; N2 = N3; N3 = tmp; }
printf("N1 = %d\n", N1);
printf("N2 = %d\n", N2);
printf("N3 = %d", N3);
return 0;
}
#include <stdio.h>
int main()
{
int N1,N2,N3,tmp;
printf("Entrer le nombre N1:"); scanf("%d",&N1);
printf("Entrer le nombre N2:"); scanf("%d",&N2);
printf("Entrer le nombre N3:"); scanf("%d",&N3);
if(N1>N2) { tmp = N1; N1 = N2; N2 = tmp; }
if(N1>N3) { tmp = N1; N1 = N3; N3 = tmp; }
if(N2>N3) { tmp = N2; N2 = N3; N3 = tmp; }
printf("N1 = %d\n", N1);
printf("N2 = %d\n", N2);
printf("N3 = %d", N3);
return 0;
}
#include <stdio.h>
int main()
{
int N1,N2,N3,tmp;
printf("Entrer le nombre N1:"); scanf("%d",&N1);
printf("Entrer le nombre N2:"); scanf("%d",&N2);
printf("Entrer le nombre N3:"); scanf("%d",&N3);
if(N1>N2) { tmp = N1; N1 = N2; N2 = tmp; }
if(N1>N3) { tmp = N1; N1 = N3; N3 = tmp; }
if(N2>N3) { tmp = N2; N2 = N3; N3 = tmp; }
printf("N1 = %d\n", N1);
printf("N2 = %d\n", N2);
printf("N3 = %d", N3);
return 0;
}
54. Écrire une fonction qui vérifie deux températures données et renvoie TRUE si l’une des températures est inférieure à 0 et l’autre supérieure à 50, sinon il renvoie FALSE.
//Déclarez la fonction "checkTemp" avec deux paramètres
intcheckTemp(int t1, int t2);
intmain(void)
{
/* Appeler la fonction "checkTemp" avec
l'argument 100 et -1 et afficher le résultat */
printf("%d", checkTemp(100, -1));
/* Appeler la fonction "checkTemp" avec
l'argument 2 et 100 et afficher le résultat */
printf("%d", checkTemp(2, 100));
}
// Définition de la fonction "checkTemp"
intcheckTemp(int t1, int t2)
{
// Retourne 1 (true) si l'une des conditions suivantes est vraie
return t1 < 0 && t2 > 50 || t2 < 0 && t1 > 50;
}
#include <stdio.h>
//Déclarez la fonction "checkTemp" avec deux paramètres
int checkTemp(int t1, int t2);
int main(void)
{
/* Appeler la fonction "checkTemp" avec
l'argument 100 et -1 et afficher le résultat */
printf("%d", checkTemp(100, -1));
/* Appeler la fonction "checkTemp" avec
l'argument 2 et 100 et afficher le résultat */
printf("%d", checkTemp(2, 100));
}
// Définition de la fonction "checkTemp"
int checkTemp(int t1, int t2)
{
// Retourne 1 (true) si l'une des conditions suivantes est vraie
return t1 < 0 && t2 > 50 || t2 < 0 && t1 > 50;
}
#include <stdio.h>
//Déclarez la fonction "checkTemp" avec deux paramètres
int checkTemp(int t1, int t2);
int main(void)
{
/* Appeler la fonction "checkTemp" avec
l'argument 100 et -1 et afficher le résultat */
printf("%d", checkTemp(100, -1));
/* Appeler la fonction "checkTemp" avec
l'argument 2 et 100 et afficher le résultat */
printf("%d", checkTemp(2, 100));
}
// Définition de la fonction "checkTemp"
int checkTemp(int t1, int t2)
{
// Retourne 1 (true) si l'une des conditions suivantes est vraie
return t1 < 0 && t2 > 50 || t2 < 0 && t1 > 50;
}
55. Écrire une fonction qui affiche si le nombre passé en paramètre est pair ou impair.
Exemple de sortie:
3 est impair.
2 est pair.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
voidpaireOuImpaire(int N)
{
// Trouver le reste
int reste = N % 2;
if(reste == 0){
printf("Paire");
}else{
printf("Impaire");
}
}
intmain()
{
// Appel à la fonction
paireOuImpaire(N);
return 0;
}
#include <stdio.h>
void paireOuImpaire(int N)
{
// Trouver le reste
int reste = N % 2;
if (reste == 0){
printf("Paire");
} else{
printf("Impaire");
}
}
int main()
{
// Appel à la fonction
paireOuImpaire(N);
return 0;
}
#include <stdio.h>
void paireOuImpaire(int N)
{
// Trouver le reste
int reste = N % 2;
if (reste == 0){
printf("Paire");
} else{
printf("Impaire");
}
}
int main()
{
// Appel à la fonction
paireOuImpaire(N);
return 0;
}
56. Écrire une fonction qui retourne le nombre de caractères dans une chaîne de caractères passée en paramètre.
Exemple de sortie:
Entrez une chaîne de caractères: Hello
Le nombre de caractères est: 5
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
intnbrChar(char str[]){
int lg; // lg stocke la longueur de la chaîne
/* incrémenter la variable lg jusqu'à la fin
de la chaîne de caractères */
for(lg = 0; str[lg] != '\0'; ++lg);
// renvoie le nombre de caractères de la chaîne
return lg;
}
intmain()
{
// Appel à la fonction
int n = nbrChar("Hello"); // n = 5
return 0;
}
#include <stdio.h>
int nbrChar(char str[]) {
int lg; // lg stocke la longueur de la chaîne
/* incrémenter la variable lg jusqu'à la fin
de la chaîne de caractères */
for(lg = 0; str[lg] != '\0'; ++lg);
// renvoie le nombre de caractères de la chaîne
return lg;
}
int main()
{
// Appel à la fonction
int n = nbrChar("Hello"); // n = 5
return 0;
}
#include <stdio.h>
int nbrChar(char str[]) {
int lg; // lg stocke la longueur de la chaîne
/* incrémenter la variable lg jusqu'à la fin
de la chaîne de caractères */
for(lg = 0; str[lg] != '\0'; ++lg);
// renvoie le nombre de caractères de la chaîne
return lg;
}
int main()
{
// Appel à la fonction
int n = nbrChar("Hello"); // n = 5
return 0;
}
58. Écrire une fonction qui permet de calculer la valeur absolue d’un nombre donné (en utilisant l’opérateur ternaire ?: ).
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
intnbrAbsolue(int n)
{
return n < 0 ? -n : n;
}
intmain()
{
// Appel à la fonction
int n = nbrAbsolue(-5); // n = 5
return 0;
}
#include <stdio.h>
int nbrAbsolue(int n)
{
return n < 0 ? -n : n;
}
int main()
{
// Appel à la fonction
int n = nbrAbsolue(-5); // n = 5
return 0;
}
#include <stdio.h>
int nbrAbsolue(int n)
{
return n < 0 ? -n : n;
}
int main()
{
// Appel à la fonction
int n = nbrAbsolue(-5); // n = 5
return 0;
}
59. Écrire une fonction qui trouve le nombre de fois un caractère se trouve dans une chaîne de caractères. La fonction prend en paramètre le caractère à trouver et la chaîne de caractères.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
intcompterNbrOccurrence(char* str, char c){
int compteur = 0;
while(*str){//itérer caractère par caractère
if(*str == c){//vérifier s'il y a une correspondance
compteur++; //incrémenter le cmpt s'il y a une correspondance
}
str++; // passer au caractère suivant
}
return compteur; //renvoyer le nbr de fois le caractère s'est trouvé
}
intmain(){
char str[100];
char c;
printf("Saisissez une chaîne de caractères:");
scanf("%s", str);
printf("Saisir le caractère à rechercher:");
scanf("%c", &c);
int o = compterNbrOccurrence(str, c);
printf("Le caractère '%c' apparaît %d fois(s) dans la chaîne de caractères.\n", c, o);
return 0;
}
#include <stdio.h>
int compterNbrOccurrence(char* str, char c) {
int compteur = 0;
while (*str) { //itérer caractère par caractère
if (*str == c){ //vérifier s'il y a une correspondance
compteur++; //incrémenter le cmpt s'il y a une correspondance
}
str++; // passer au caractère suivant
}
return compteur; //renvoyer le nbr de fois le caractère s'est trouvé
}
int main() {
char str[100];
char c;
printf("Saisissez une chaîne de caractères:");
scanf("%s", str);
printf("Saisir le caractère à rechercher:");
scanf("%c", &c);
int o = compterNbrOccurrence(str, c);
printf("Le caractère '%c' apparaît %d fois(s) dans la chaîne de caractères.\n", c, o);
return 0;
}
#include <stdio.h>
int compterNbrOccurrence(char* str, char c) {
int compteur = 0;
while (*str) { //itérer caractère par caractère
if (*str == c){ //vérifier s'il y a une correspondance
compteur++; //incrémenter le cmpt s'il y a une correspondance
}
str++; // passer au caractère suivant
}
return compteur; //renvoyer le nbr de fois le caractère s'est trouvé
}
int main() {
char str[100];
char c;
printf("Saisissez une chaîne de caractères:");
scanf("%s", str);
printf("Saisir le caractère à rechercher:");
scanf("%c", &c);
int o = compterNbrOccurrence(str, c);
printf("Le caractère '%c' apparaît %d fois(s) dans la chaîne de caractères.\n", c, o);
return 0;
}
Sortie:
Saisissez une chaîne de caractères: Hello World!
Saisir le caractère à rechercher: o
Le caractère 'o' apparaît 2 fois(s) dans la chaîne de caractères.
60. Écrire une fonction qui permet d'afficher la table de multiplication d’un nombre N.
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include <stdio.h>
voidtableMultiplication(int N)
{
int i;
for(i=1; i <= 10; i++)
{
printf("%d x %d = %d\n", N,i,N*i);
}
}
intmain(){
int nbr;
printf("Saisir un nombre positif\n");
scanf("%d", &nbr);
tableMultiplication(nbr);
return 0;
}
#include <stdio.h>
void tableMultiplication(int N)
{
int i;
for(i=1; i <= 10; i++)
{
printf("%d x %d = %d\n", N,i,N*i);
}
}
int main() {
int nbr;
printf("Saisir un nombre positif\n");
scanf("%d", &nbr);
tableMultiplication(nbr);
return 0;
}
#include <stdio.h>
void tableMultiplication(int N)
{
int i;
for(i=1; i <= 10; i++)
{
printf("%d x %d = %d\n", N,i,N*i);
}
}
int main() {
int nbr;
printf("Saisir un nombre positif\n");
scanf("%d", &nbr);
tableMultiplication(nbr);
return 0;
}