Maison > Article > développement back-end > Programme C pour imprimer des motifs de pyramides creuses et de losanges
Ici, nous verrons comment générer des motifs de pyramides creuses et de losanges en utilisant le langage C. Nous pouvons facilement générer un modèle pyramidal solide. Pour le rendre creux, il faut ajouter quelques astuces.
Pour la pyramide de la première rangée, il imprimera un astérisque et n astérisques dans la dernière rangée. Pour les autres lignes, deux astérisques seront imprimés au début et à la fin de la ligne, avec un espace entre les deux astérisques.
#include <stdio.h> int main() { int n, i, j; printf("Enter number of lines: "); scanf("%d", &n); for(i = 1; i<=n; i++) { for(j = 1; j<=(n-i); j++){ //print the blank spaces before star printf(" "); } if(i == 1 || i == n){ //for the first and last line, print the stars continuously for(j = 1; j<=i; j++) { printf("* "); } } else { printf("*"); //in each line star at start and end position for(j = 1; j<=2*i-3; j++) { //print space to make hollow printf(" "); } printf("*"); } printf("</p><p>"); } }
Enter number of lines: 20 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Pour la première et la dernière rangée de losanges, il imprimera une étoile. Pour les autres lignes, deux étoiles seront imprimées au début et à la fin de la ligne et il y aura un espace entre les deux débuts. Un diamant est composé de deux parties. Moitiés supérieure et inférieure. Dans la partie supérieure, nous devons augmenter le nombre d'espaces et dans la partie inférieure, nous devons diminuer le nombre d'espaces. Ici, vous pouvez utiliser une autre variable appelée mid pour diviser le numéro de ligne en deux parties.
#include <stdio.h> int main() { int n, i, j, mid; printf("Enter number of lines: "); scanf("%d", &n); if(n %2 == 1) { //when n is odd, increase it by 1 to make it even n++; } mid = (n/2); for(i = 1; i<= mid; i++) { for(j = 1; j<=(mid-i); j++){ //print the blank spaces before star printf(" "); } if(i == 1) { printf("*"); } else { printf("*"); //in each line star at start and end position for(j = 1; j<=2*i-3; j++){ //print space to make hollow printf(" "); } printf("*"); } printf("</p><p>"); } for(i = mid+1; i<n; i++) { for(j = 1; j<=i-mid; j++) { //print the blank spaces before star printf(" "); } if(i == n-1) { printf("*"); } else { printf("*"); //in each line star at start and end position for(j = 1; j<=2*(n - i)-3; j++) { //print space to make hollow printf(" "); } printf("*"); } printf("</p><p>"); }
Enter number of lines: 15 * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!