400 Exercices Corrigés En C – Partie 4

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.

 
 

Veuillez voir les exercices de 1 à 30, 30 à 40 et 40 à 50.

 

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.

Formule: Fahrenheit (°F) = (Température en degrés Celsius (°C) * 9/5) + 32

Exemple de sortie:

Entrez la température en degrés Celsius: 45
La température en Fahrenheit est: 113
#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
#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
#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.

Exemple de sortie:

checkTemp(100, -1) -> TRUE
checkTemp(2, 100) -> FALSE
#include <stdio.h>

//Déclarez la fonction "checkTemp" avec deux paramètres
int checkTemp(int n); 

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.
#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
#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 ?: ).
#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.
#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.
#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; 
} 
 

Laisser un commentaire

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