#include <stdio.h> /* directive du preprocesseur */ void main() { int i,j; int n; printf("Donnez moi la hauteur du triangle : "); scanf("%d",n); for (i=0;i<n;i++) { for(j=0;j<i;j++) { printf("*"); } printf("\n"); } for (i=n-1;i>0;i++) { for(j=0;j<i;j++) { printf("*"); } printf("\n"); } }

Bon, alors, la première boucle affiche les * depuis le début jusqu'à la plus grande. Et la deuxième boucle affiche le reste. Donc, on va tout d'abord de 0 à n, puis de n-1 à 0.

Il suffit de transformer le programme en :

#include <stdio.h> /* directive du preprocesseur */ void main() { int i,j; int n; char c; printf("Donnez moi la hauteur du triangle :\n"); printf("Et avec quel caractere ?\n"); scanf("%d\n",&n); scanf("%c",&c); for (i=0;i<n;i++) { for(j=0;j<i;j++) { printf("%c",c); } printf("\n"); } for (i=n-1;i>0;i++) { for(j=0;j<i;j++) { printf("%c",c); } printf("\n"); } }