Heim  >  Artikel  >  Backend-Entwicklung  >  C-Programm zum Drucken von Namen in einem herzförmigen Muster mithilfe einer for-Schleife

C-Programm zum Drucken von Namen in einem herzförmigen Muster mithilfe einer for-Schleife

王林
王林nach vorne
2023-09-06 22:09:141299Durchsuche

C-Programm zum Drucken von Namen in einem herzförmigen Muster mithilfe einer for-Schleife

Frage

Schreiben Sie ein Programm, das eine for-Schleife verwendet, um ein herzförmiges Muster mit einem Namen in der Mitte zu drucken.

Lösung

Der Benutzer muss den Namen eingeben, der in der Mitte gedruckt werden soll, und die Anzahl der Zeilen, auf denen der Stern gedruckt werden soll.

Algorithmus

Sehen Sie sich den unten angegebenen Algorithmus an, um Namen mithilfe einer for-Schleife im Herzmuster zu drucken.

Schritt 1 – Variablen deklarieren.

Schritt 2 – Lesen Sie zur Laufzeit den Namen, der in der Mitte gedruckt werden soll.

Schritt 3 – Lesen Sie die Anzahl der Zeilen ab.

Schritt 4 – Berechnen Sie die Länge des Namens.

Schritt 5 – Drucken Sie die obere Hälfte der Herzform aus.

Schritt 6 – Drucken Sie die untere Hälfte aus.

Schritt 7 – Drucken Sie den Namen auf dem Bildschirm aus.

Beispiel

Das Folgende ist eine C-Programmschleife, die for verwendet, um Namen in einem Herzmuster zu drucken -

Live-Demonstration

#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;
}

Ausgabe

Wenn das obige Programm ausgeführt wird, wird die folgende Ausgabe erzeugt -

Enter your name: Tutorials POint
Enter no of rows: 10
      ***** *****
    ******* *******
  ********* *********
   **Tutorials POint*
   *****************
    ***************
     *************
      ***********
       *********
        *******
         *****
          ***
           *

Das obige ist der detaillierte Inhalt vonC-Programm zum Drucken von Namen in einem herzförmigen Muster mithilfe einer for-Schleife. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen