宿題を教えてください! while & if

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ままま

宿題を教えてください! while & if

#1

投稿記事 by ままま » 11年前

宿題は以下の通りです

1~10の数字を表示しなさい
条件
10で改行する
上記を5回繰り返す

私の作ったプログラムは以下の通りです
#include <stdio.h>

main()
{
int i;

i=1;
while(i<=10) {
printf("%d ",i);

if(i-i/10*10==0) {
printf("\n");
i=i-10;
}
i=i+1;
}
}

1~10の表示を無限に繰り返してしまいます。
5回だけ繰り返すにはどうすればいいですか?
よろしくお願いいたします。

non
記事: 1097
登録日時: 13年前

Re: 宿題を教えてください! while & if

#2

投稿記事 by non » 11年前

1から10まで繰り返すためのカウンタとなる変数と、それを5回繰り返すカウンタとなる変数の2つを
用意して区別することです。
non

ままま

Re: 宿題を教えてください! while & if

#3

投稿記事 by ままま » 11年前

回答ありがとうございます。for文など、未学習のものが多く、5回繰り返す命令の作り方がよくわかりません。大変圧がましいですが、具体的に質問してもよろしいでしょうか

初級者
記事: 200
登録日時: 13年前

Re: 宿題を教えてください! while & if

#4

投稿記事 by 初級者 » 11年前

コード:

/*
 * ていうか、「10回繰り返す」ことはできているのだから、
 * その外側で「それを5回繰り返す」処理を書けばよい。
 * 誤:圧がましい
 * 正:厚かましい(あつかましい)
 */

#include <stdio.h>

int main(void)
{
    int i, j;

    j = 1;
    while (j <= 5) {
        i = 1;
        while (i <= 10) {
            printf("%d ", i);
            if (i == 10) {
                printf("\n");
            }
            i++;
        }
        j++;
    }
    return 0;
}

赤鬼

Re: 宿題を教えてください! while & if

#5

投稿記事 by 赤鬼 » 11年前

1~10の数字を表示しなさい
条件
10で改行する
上記を5回繰り返す

コード:

#include	<stdio.h>

main()
{
	int		i;
	
	i=1;
	while(i<=10)	{
		printf("%d ",i);
		
		if(i-i/10*10==0) {
			printf("\n");
			i=i-10;              ←これが原因で繰り返している
		}
		i=i+1;
	}
}
i=i-10この箇所ですね。
2重にループさせてやるか回数を数える変数をひとつ用意してあげたほうがよろしいと思います。

で、多分上記は皆さん書いていると思うのでちょっと特殊なのを。

コード:

void main(void)
{
	int i=0;
	while(i<50){
		printf("%d",i%10+1);
		if(i%10+1==10){
			putchar('\n');
		}
		i++;
	}
	getchar();
}
あまり綺麗とはいえないのでお勧めはしません。

ままま

Re: 宿題を教えてください! while & if

#6

投稿記事 by ままま » 11年前

なるほど!重複トピ、誤変換、申し訳ありませんでした。
皆さんの御陰で解決いたしました。ありがとうございます!

閉鎖

“C言語何でも質問掲示板” へ戻る