電子書籍の厳選無料作品が豊富!

#include <stdio.h>

main()
{
int i, n;
for( i = 1, n = 0; n < i; i++ )
   {
if(i%3 == 2 && i%4 == 1 && i<1000 )
{
 printf("%4d,",i);
  if(i%10==0)
       printf("\n");
   n++;
      }
   }

printf("\n");
}


このプログラムは、3で割ると2余り、4で割ると1余る自然数で1000より小さいものを小さい順に表示するもので、 一行に10個ずつ表示して改行したいのですが、どうすればいいでしょうか?
if文が間違っていると思うのですが・・・

A 回答 (3件)

↓こういうことなんじゃないでしょうか?



#include <stdio.h>

void main(void)
{
int i, n;

n = 0;
for( i = 1; i < 1000; i++ ) {
if( i%3 == 2 && i%4 == 1 ) {
printf("%4d,",i);
n++;
if( n%10 == 0 )
printf("\n");
}
}
printf("\n");
}
    • good
    • 8
この回答へのお礼

このプログラムを実行してみたところ
見事に、きちんと表示されました!!
どうもありがとうございます((*´∀`*))

自分のプログラムと見比べてみて勉強しなおします!!

お礼日時:2007/06/20 00:44

if(i%10==0)の文をif(i=10)に変更してくださいこれでうまくいくと思います。

    • good
    • 2
この回答へのお礼

回答していただいてありがとうございました。
さっそく修正してみたのですが、
何も変わりませんでした・゜・(PД`q。)・゜・

問題はif文ではないということなのでしょうか・・・

お礼日時:2007/06/20 00:22

>一行に10個ずつ表示して改行したいのですが


1 から 1000 まで回しているループ i とは別に、表示した個数を保存する変数を作成/管理して下さい。
    • good
    • 1
この回答へのお礼

回答していただいて、どうもありがとうございます。
その方法で一度やってみます!!

お礼日時:2007/06/20 00:45

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A