C言語プリントアウト アスタリスクトライアングルケース説明

まず、アスタリスク三角形の例を見てみましょう。

アスタリスクトライアングルの特徴は以下の通りです

印刷結果がイラストと全く同じになるパターンを例にコードを書いていきます。

 アイデア分析

1) まず、アスタリスクの三角形を、星の前にスペースを入れずに出力します。

 コードは以下のように表示されます。

#include <stdio.h>
# define N 4
void main(){
	int i,j,k;
	for(i=1;i<=N;i++){//控制打印输出4行星星
		for(j=1;j<=2*i-1;j++){//控制打印输出每行的星星个数
			printf("*");
		}
		printf("\n");//打印完一行后都需要换行
	}
}

コードを実行した結果は次のようになります。

 2) 元のコードを前提として、出力の各行の最初のスターの前のスペースの数を制御する for ループ ステートメントを追加します。

このケースのコード全体は次のとおりです

#include <stdio.h>
# define N 4
void main(){
	int i,j,k;
	for(i=1;i<=N;i++){//控制打印输出4行星星
		for(k=1;k<=N-i;k++){
			printf(" ");//控制打印输出每一行第一个星星前的空格个数
		}
		for(j=1;j<=2*i-1;j++){//控制打印输出每行的星星个数
			printf("*");
		}
		printf("\n");//打印完一行后都需要换行
	}
}

コードを実行した結果は次のようになります

説明: コードは書き込まれており、パターンの出力は完全に正しいです。でも、一つだけ、緊張していて試験室のルールが分からなかったらどうするか?これは賢い解決策です。彼が望むどんなパターンでも出力し、暴力を使って問題を解決し、そのパターンに従って星を 1 行ずつ出力することができます。行数が 10 行以内であればこの方法でも全然大丈夫ですが、100 行の印刷出力を制御する私の巧妙な方法が失敗した場合は、正直にルールを見つけてループで印刷する必要があります。

私の賢い方法、それを見た先生が専門家と呼んで、666をダブルクリックしてください!

コードは以下のように表示されます。

#include <stdio.h>
void main(){
	printf("   *\n");
	printf("  ***\n");
	printf(" *****\n");
	printf("*******\n");

}

コードを実行した結果は次のようになります。

 

 そんなに単純なのか、と感心するしかない。

いくつかのメモ:

先生は、printf を使って星のパターンを出力するという私の賢い方法を読んで、2 点を与えてくれました。これはおそらくまだ大変な作業でしょう。私のこの賢い方法はただ楽しむためのものなので、使用には注意してください。

おすすめ

転載: blog.csdn.net/weixin_63279307/article/details/129874112