Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

forループを使用してハートパターン内に名前を出力するCプログラム。


問題

forループを使用して、名前が中央にあるハート型のパターンを印刷するプログラムを作成します。

解決策

ユーザーは、星を印刷する必要がある行数とともに、中央に印刷する名前を入力する必要があります。

アルゴリズム

forループを使用して名前をハート型で出力するには、以下のアルゴリズムを参照してください。

ステップ1-変数を宣言します。

ステップ2-中央に印刷する必要がある名前を実行時に読み取ります。

ステップ3-行数を読み取ります。

ステップ4-名前の長さを見つけます。

ステップ5-心臓の上部を印刷します。

ステップ6-心臓の下部を印刷します。

ステップ7-画面に名前を印刷します。

以下は、forループを使用して名前をハート型で印刷するCプログラムです-

#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("\n");
   }
   // 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("\n");
   }
   return 0;
}

出力

上記のプログラムを実行すると、次の出力が生成されます-

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

  1. 六角形パターンのCプログラム

    整数「n」が与えられ、タスクは六角形のパターンを生成して最終出力を表示することです。 例 Input-: n=5 Output-: Input-: n = 4 Output-: 特定のプログラムで使用しているアプローチは次のとおりです − ユーザーからの数字「n」を入力します パターン全体を3つの部分、つまり上部、中央部、下部に分割します。パターンの上部をiから0に印刷し、iをn未満にして、iの値をインクリメントし続けるループiを開始します。ループを開始します。パターンの中央部分をmから0に印刷し、mをn-2未満にし、mの値をインクリメントし続けるmパターンの下部をhからre

  2. ループを使用しない印刷番号シリーズのPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します- 問題の説明 − 2つの数NとKが与えられた場合、問題は、数(N)がゼロ(0)より大きくなるまでNから数Kを引くことです。Nが負またはゼロになると、その数が元の番号(N)。 たとえば、 N = 10 K = 4 Output will be: 10 6 2 -2 2 6 10 アルゴリズム 1. we call the function again and again until N is greater than zero (in every function    call we subtra