アプリ版:「スタンプのみでお礼する」機能のリリースについて

ピラミッドを表示させるプログラムを考えています。

例えば3段の場合

  *
 ***
*****

っというような表示です。

#include <stdio.h>

void spira(int n);

main()
{
int a;

printf("段数は:");
scanf("%d",&a);

spira(a);
}
void spira(int n)
{
int i,j=1,a,b,k;

for(a=n;a>0;a--){
for(b=a-1;b<=n;b--){
printf(" ");
}
k=(j-1)*2+1;
for(i=1;i<=k;i++){
printf("*");
}
j++;
printf("\n");
}
}

このように考えてみたのですが、無限ループになって表示できません。
どこが悪いでしょうか?

無限ループの原因はどうやったら解消されるでしょうか?

A 回答 (2件)

yoppiiさんがおっしゃる部分が無限ループの原因だと思います。



この部分を
for(b=1;b>=a-1;b++){

にしてみたらどうでしょう?
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

b=1;b<=a-1;b++
とやってみるとうまくいきました!

お礼日時:2003/10/17 06:57

for(b=a-1;b<=n;b--){



↑原因はここでしょうね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

そうですね、ずっとスペースでループするのでそこがおかしいですね。

お礼日時:2003/10/17 06:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!