###前提・実現したいこと
c言語のwhile文(for文はダメ)で*アスタリスクで5行の直角三角形を表示したいです。使わないといけないのが#define ROWS 5 が必須です(学校のアサイメントです)
ゴールは
*
***
*****
*******
*********
###発生している問題・エラーメッセージ
while文をどのようにループさせると階差数列がうまく表示出来るのかが分かりません。正直いろいろ試してみてギブアップ状態です。何かヒントを下さるとうれしいです。
###ソースコード
#include <stdio.h>
#define ROWS 5
int main( ) {
int r=0, c=0, m=0;
do{
printf("*");
while(r<=ROWS && r>=1){ printf("*"); while(m<c){ printf("*"); m++; } printf("\n"); r++; c=2r-1; }
###補足情報(言語/FW/ツール等のバージョンなど)
こんにちは。
ご質問の「ゴールは」で示されている三角形のアスタリスクの個数は
1行目:1個、2行目:3個、3行目:5個、4行目:7個、5行目:9個
となっていて、n 行目のアスタリスクの個数を a(n) とすると
漸化式:a(n+1) = a(n) + 2
初項:a(1) = 1
という等差数列になっていますが、ご質問にある
発生している問題・エラーメッセージ
には
> while文をどのようにループさせると階差数列がうまく表示出来るのかが分かりません。
のように「階差数列」とあります。
実現したいことは、
・何らかの階差数列の要素をループで生成すること
なのか、それとも
・「ゴールは」で描かれているアスタリスクの図形を表示すること
なのか、追記して頂けますでしょうか。
よろしくお願いいたします。
ゴールを目指してました。scanfなどは使わず5行のみの表示です。無事作成できました!ありがとうございます。
回答3件
あなたの回答
tips
プレビュー