ページ 11

100ごとに数値を表示

Posted: 2012年8月31日(金) 22:54
by Jimmy
C言語初心者です。

100ごとに(定期的に)変数を表示したいです。

コード:

#include<stdio.h>

int main()
{
	int i;
	for(i = 0;i < 1000; i++) if(!(i%100)) printf("%d突破!\n");
	return 0;
}
自分で考えたのはこれなのですが、問題があって・・・。
変数iが0の時も「0突破!」と表示されてしまうんです。新たに条件分岐を使わずにどうすれば、いいですか?

if(!(i%100) && i)もなしでお願いします!

Re: 100ごとに数値を表示

Posted: 2012年8月31日(金) 22:58
by Ryo
i=1
から開始して
i<=1000
をループ条件にする

Re: 100ごとに数値を表示

Posted: 2012年8月31日(金) 23:10
by box
こんなふざけたコードはダメなんでしょうね、きっと。

コード:

#include <stdio.h>

int main(void)
{
    int i;

    for (i = 100; i <= 900; i += 100) {
        printf("%d突破!\n", i);
    }
    return 0;
}

Re: 100ごとに数値を表示

Posted: 2012年9月01日(土) 13:28
by たいちう
> if(!(i%100) && i)もなしでお願いします!

なぜ駄目なのか書いてもらえると回答できるかも。

Re: 100ごとに数値を表示

Posted: 2012年9月01日(土) 14:26
by Jimmy
ごめんなさい。説明不足でした。変数iは1ずつインクリメントするものとします。その過程で100事にユーザーに状態をを知らせしたかっただけです。

if(!(i%100) && i)よりも良い条件があったら教えてもらいたかっただけです。わがまま言ってすみませんでした。質問は打ち切ることにします。

Re: 100ごとに数値を表示

Posted: 2012年9月01日(土) 14:43
by non
0から始めるなら、こうでしょう。

コード:

if(i%100==99) printf("%d突破!\n");

Re: 100ごとに数値を表示

Posted: 2012年9月01日(土) 15:04
by みけCAT
if(!(i%100) && i)がナシなら、if(i%100==0 && i!=0)を使えばいいじゃない!