/*----------------------------------------------------------*/ /* */ /* AUTHOR : Eric VIOLARD */ /* E-MAIL : violard@icps.u-strasbg.fr */ /* ORGANISM : Université Louis Pasteur (Strasbourg) */ /* CREATION : 08/11/02 */ /* */ /* ---------------------------------------------------------*/ /* Programme qui dessine un sapin plein, étant donnée sa hauteur h. Ex: pour h=4 * *** ***** ******* Le sapin se découpe en h lignes. En numérotant les lignes de 1 à h (de haut en bas), l'affichage de la ième ligne consiste en l'affichage de h-i espaces, suivi de 2i-1 étoiles. NB: la hauteur doit être supérieure ou égale à 2 */ #include /* pour utiliser la fonction printf */ main() { /* déclarations */ int hauteur; /* la hauteur donnée */ int ligne=1; /* numéro de la prochaine ligne à afficher */ /* (la première ligne a pour numéro 1 */ /* --- lecture de la hauteur --- */ printf("Entrer une hauteur de sapin : "); scanf("%d",&hauteur); /* --- on itére pour afficher chaque ligne --- */ while(ligne<=hauteur) /* tant qu'il reste une ligne à afficher */ { /* --- affichage d'une ligne --- */ { int i; /* compteur d'espaces ou d'étoiles */ /* affichage de (hauteur-ligne) espaces */ i=1; while(i<=hauteur-ligne) { printf(" "); i=i+1; } /* affichage de (2*ligne-1) étoiles */ i=1; while(i<=2*ligne-1) { printf("*"); i=i+1; } } /* --- passage à la ligne suivante --- */ printf("\n"); /* affichage d'un retour à la ligne */ ligne=ligne+1; /* incrémentation du numéro de ligne */ } /* Une autre solution avec des "for" plutôt que des "while" : for(ligne=1;ligne<=hauteur;ligne++) { int i; for(i=1;i<=hauteur-ligne;i++) printf(" "); for(i=1;i<=2*ligne-1;i++) printf("*"); printf("\n"); } */ }