• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語で以下のようなプログラムを組むには)

C言語で閏年を拾い出すプログラムを作成する方法

このQ&Aのポイント
  • C言語初心者の方に、1900年から2100年の間で閏年を拾い出し表示するプログラムの作成方法について解説します。
  • 閏年とは、西暦年が4で割り切れる年であり、ただし100で割り切れる年は平年となります。さらに、しかし400で割り切れる年はまた閏年です。
  • プログラムでは、forループを使用して1900年から2100年までの年を順番に調べます。条件式を使って4で割り切れる年と400で割り切れる年をピックアップし、結果を表示します。

質問者が選んだベストアンサー

  • ベストアンサー
  • edomin7777
  • ベストアンサー率40% (711/1750)
回答No.2

こんな感じ? #include<stdio.h> int main(void) { int i; for(i = 1900; i<=2100; i++){ if(i%4 == 0){ if(i%100 == 0){ if(i%400 == 0){ printf("%d\n", i); } }else{ printf("%d\n", i); } } } return (0); }

shorinji36
質問者

お礼

回答有難うございます。 解答を見て初めてこうするのかと気付かされました。

その他の回答 (1)

回答No.1

 コードを組む前に、日本語でフローチャートなりなんなり使ってロジックを考えてみましょう。  漠然と「4で割り切れて100で割り切れない年と400で割り切れる年」とかいうのじゃなく、それを実現するためにもっと細かくどう処理すれば良いかです。  ロジックが出来てからコードに置き換えてみましょう。  それから、上のコードでは「2101」が出力されるだけですよ。何故かは自分で考えてください。  あと、 > !i % 4;  は何をしようとしているのか意味不明です。上のコードでは何の意味もなく、空文を書いてるのと同じで、単にループしてるだけです。

shorinji36
質問者

お礼

アドバイス有難うございます。 いまいちフローチャートとプログラムの関連性が見えてないんですよね。 頭のなかでプログラムの外観を作ってそれを行うにはって感じでプログラムを組むからいけないのかもしれません。

関連するQ&A

専門家に質問してみよう