1

私の宿題は、以下のようにforループを使用して星のパターンを印刷する必要があります。

!!!!!
!!!!
!!!
!!
!

これが私のループです:

    int i, j;
    for(i=5;i<=1;i--)
    {
        for(j=1;j<=i;j++)
        {
            printf("!");
        }
        printf("\n");
    }

実際、私はすでに以下のようにパターンを印刷することに成功しました:

! 
!! 
!!! 
!!!! 
!!!!!

次のループによって:

    int i, j;
    for(i=1;i<=5;i++)
    {
        for(j=1;j<=i;j++)
        {
            printf("!");
        }
        printf("\n");
    }

エラーが見つからないため、パターン1を印刷できない理由がわかりません。また、プログラムを実行すると、出力ウィンドウが表示されなくなります。

私のXcodeはVer4.4.1です

4

3 に答える 3

6

このループは何も実行できません:

for(i=5;i<=1;i--)

「で始まりi = 5、その間にi <= 1;するi--」と書かれています。

最初の反復では、i は既に > 1 なので、ループに入ることさえありません。

あなたがすべきことは、条件を逆にすることです:

for (i = 5; i>= 1; i--)

このように、 から始めてループし、 whilei = 5を実行します。i--i >= 1

forループの一般的な考え方:

for (A; B; C)
{
    D;
}

と同等です

A;
while (B)
{
    C;
    D;
}
于 2012-10-01T14:45:28.013 に答える
2

最初のコード サンプルでは、​​次のように記述します。

for(i=5;i<=1;i--)

この for ループに入ることはありません。最初iは 5 に設定されています。次にi<=1がテストされ、これが戻りfalse、for ループがスキップされます。

代わりにこれを行う必要があります。

for(i=5;i>=1;i--)
于 2012-10-01T14:46:38.753 に答える
1

停止条件のループでエラーが発生しました。使用する

for(i=5;i>=1;i--)

それ以外の:

for(i=5;i<=1;i--)

于 2012-10-01T14:59:51.217 に答える