Exercices en langage C/Structures de controle

Un livre de Wikibooks.

Exercices en langage C
Sommaire
Livre
Modifier ce modèle

Sections

[modifier] Structures conditionnelles

[modifier] Tester votre age

Écrire un programme testage.c contenant une fonction main qui :

  • lire sur le clavier l'âge de l'utilisateur avec la fonction scanf;
  • teste si la réponse est valide par analyse du code retour de scanf et teste si la valeur est comprise entre 0 et 130;
  • affiche si l'utilisateur est majeur (>= 18 ans) ou mineur.

[modifier] Structures répétitives

[modifier] Triangle d'étoiles

Compléter la fonction afficherTriangle dans le programme ci-dessous : cette fonction devra afficher un triangle rempli d'étoiles (*) sur un nombre de lignes donné passé en paramètre, exemple :

*
**
***
****
*****
******
*******
********
  • 1ère version  : sans utiliser de tableau à l'aide de deux boucles for imbriquées.
  • 2ème version : avec une seule boucle for et un tableau de chaîne de caractère où vous accumulerez des étoiles.
/*
Nom : etoile.c
Compilation : gcc -Wall -std=c99 -o etoile.exe etoile.c
Exécution : ./etoile.exe
*/
#include <stdio.h>
#include <stdlib.h>
 
/*
Nom ... : afficherTriangle
Role .. : Afficher un triangle d'etoiles
Parametre :
        nbLignes : nombre de lignes du triangle
*/
static void afficherTriangle(const int nbLignes)
{
// Partie à compléter
} // static void afficherTriangle(...
 
// Fonction principale pour test
int main(void)
{
        int nbLignes = 0;
        int nbChampsLu = 0;
        int codeRetour = EXIT_SUCCESS;
 
        (void)fputs("Lignes ? ", stdout);
        nbChampsLu = scanf("%u", &nbLignes);
        if (nbChampsLu == 1 && nbLignes > 0)
        {
                afficherTriangle(nbLignes);
        }
        else
        {
                (void)fputs("Erreur : Vous devez entrer un entier strictement positif !\n",
                        stderr);
                codeRetour = EXIT_FAILURE;
    }
 
    return codeRetour;
} // int main(...

[modifier] Somme d'entiers

Ecrire un programme somme demandant à l'utilisateur de taper 10 entiers et qui affiche leur somme. Le programme ne devra utiliser que 3 variables et ne devra pas utiliser de tableau.