- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語で以下のようなプログラムを組むには)
C言語で閏年を拾い出すプログラムを作成する方法
このQ&Aのポイント
- C言語初心者の方に、1900年から2100年の間で閏年を拾い出し表示するプログラムの作成方法について解説します。
- 閏年とは、西暦年が4で割り切れる年であり、ただし100で割り切れる年は平年となります。さらに、しかし400で割り切れる年はまた閏年です。
- プログラムでは、forループを使用して1900年から2100年までの年を順番に調べます。条件式を使って4で割り切れる年と400で割り切れる年をピックアップし、結果を表示します。
- みんなの回答 (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); }
その他の回答 (1)
- magicalpass
- ベストアンサー率58% (378/648)
回答No.1
コードを組む前に、日本語でフローチャートなりなんなり使ってロジックを考えてみましょう。 漠然と「4で割り切れて100で割り切れない年と400で割り切れる年」とかいうのじゃなく、それを実現するためにもっと細かくどう処理すれば良いかです。 ロジックが出来てからコードに置き換えてみましょう。 それから、上のコードでは「2101」が出力されるだけですよ。何故かは自分で考えてください。 あと、 > !i % 4; は何をしようとしているのか意味不明です。上のコードでは何の意味もなく、空文を書いてるのと同じで、単にループしてるだけです。
質問者
お礼
アドバイス有難うございます。 いまいちフローチャートとプログラムの関連性が見えてないんですよね。 頭のなかでプログラムの外観を作ってそれを行うにはって感じでプログラムを組むからいけないのかもしれません。
お礼
回答有難うございます。 解答を見て初めてこうするのかと気付かされました。