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

Programme C pour imprimer les noms sous forme de cœur en utilisant la boucle for

王林
Libérer: 2023-09-06 22:09:14
avant
1330 Les gens l'ont consulté

Programme C pour imprimer les noms sous forme de cœur en utilisant la boucle for

Question

Écrivez un programme qui utilise une boucle for pour imprimer un motif en forme de cœur avec un nom au centre.

Solution

L'utilisateur doit saisir le nom qui doit être imprimé au centre et le nombre de lignes sur lesquelles l'étoile doit être imprimée.

Algorithme

Voir l'algorithme ci-dessous pour imprimer les noms en motif de cœur en utilisant la boucle for.

Étape 1 - Déclarez les variables.

Étape 2 - Lors de l'exécution, lisez le nom qui doit être imprimé au centre.

Étape 3 - Lisez le nombre de lignes.

Étape 4 - Calculez la longueur du nom.

Étape 5 - Imprimez la moitié supérieure de la forme du cœur.

Étape 6 - Imprimez la moitié inférieure

Étape 7 - Imprimez le nom sur l'écran.

Exemple

Ce qui suit est une boucle de programme C qui utilise pour pour imprimer les noms dans un motif en cœur -

Démonstration en direct

#include <stdio.h>
#include <string.h>
int main(){
   int i, j, n;
   char name[50];
   int len;
   printf("Enter your name: ");
   gets(name);
   printf("Enter no of rows: ");
   scanf("%d", &n);
   len = strlen(name);
   // Print upper part of the heart shape with stars
   for(i=n/2; i<=n; i+=2){
      for(j=1; j<n-i; j+=2){
         printf(" ");
      }
      for(j=1; j<=i; j++){
         printf("*");
      }
      for(j=1; j<=n-i; j++){
         printf(" ");
      }
      for(j=1; j<=i; j++){
         printf("*");
      }
      printf("</p><p>");
   }
   // Prints lower triangular part with stars
   for(i=n; i>=1; i--){
      for(j=i; j<n; j++){
         printf(" ");
      }
      // Print the name on screen
      if(i == n){
         for(j=1; j<=(n * 2-len)/2; j++){
            printf("*");
         }
         printf("%s", name);
         for(j=1; j<(n*2-len)/2; j++){
            printf("*");
         }
      }else{
         for(j=1; j<=(i*2)-1; j++){
            printf("*");
         }
      }
      printf("</p><p>");
   }
   return 0;
}
Copier après la connexion

Sortie

Lorsque le programme ci-dessus est exécuté, la sortie suivante est produite -

Enter your name: Tutorials POint
Enter no of rows: 10
      ***** *****
    ******* *******
  ********* *********
   **Tutorials POint*
   *****************
    ***************
     *************
      ***********
       *********
        *******
         *****
          ***
           *
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