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

王林
リリース: 2023-09-06 22:09:14
転載
1331 人が閲覧しました

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("</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;
}
ログイン後にコピー

出力

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

Enter your name: Tutorials POint
Enter no of rows: 10
      ***** *****
    ******* *******
  ********* *********
   **Tutorials POint*
   *****************
    ***************
     *************
      ***********
       *********
        *******
         *****
          ***
           *
ログイン後にコピー

以上がfor ループを使用して名前をハート型のパターンで出力する C プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート