Maison > développement back-end > C++ > le corps du texte

Programme C pour imprimer des motifs de pyramides creuses et de losanges

PHPz
Libérer: 2023-09-02 11:25:06
avant
1332 Les gens l'ont consulté

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.

Pyramide creuse

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.

Exemple de code

#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>");
   }
}
Copier après la connexion

Sortie

Enter number of lines: 20
                                         *
                                       *   *
                                      *     *
                                     *       *
                                    *         *
                                   *           *
                                  *             *
                                 *               *
                                *                 *
                               *                   *
                              *                     *
                             *                       *
                            *                         *
                           *                           *
                          *                             *
                         *                               *
                        *                                 *
                       *                                   *
                      *                                     *
                     * * * * * * * * * * * * * * * *  * * *  * 
Copier après la connexion

Rhombe creux

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.

Exemple de code

#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>");
}
Copier après la connexion

Sortie

Enter number of lines: 15
                      *
                    *   *
                  *       *
                 *         *
                *           *
               *             *
              *               *
             *                 *
              *               *
               *             *
                *           *
                 *         *
                   *     *
                    *   *
                      *
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!