こんばんは、私は今、亀田健司さんの「一週間で身につくC/C++言語」というコースを受講しています。
Visual Studio 2019を使っています。
コースの練習問題の中の基本編の問題、No.2条件分岐prob3-19
ある年が、閏年かどうかを判定するプログラムを作りなさい。閏年とは
1, 4で割り切れる
2, ただし、100で割り切れる場合は、閏年にはしない。
3, 例外として、400で割り切れる場合は、閏年とする。
を満たす年である。キーボードから、ユーザーに西暦を入力させ、その年が閏年なら「閏年です」、そうでないなら、「閏年ではありません」と表示するように作りなさい。
という問題があるのですが、
私の解答はあっているのか(訳あってデバックができないのでテストができません)、また、私と亀田さんの解答では何が違うのか知りたいです。
(上が私の解答、下がprob3-19の解答(亀田健司さんの解答)です。)
教えていただけると幸いです。
#include <stdio.h>
//私の解答
void main() {
int n;
printf("西暦:\n");
scanf("%d", &n);
//1, 4で割り切れる場合
if (n % 4 == 0) {
printf("閏年です\n");
}
//2, 100で割り切れる場合
else if (n % 100 == 0) {
printf("閏年ではないです\n");
}
//3, 400で割り切れる場合
else if (n % 400 == 0) {
printf("閏年です\n");
}
//マイナスになる場合
else if (n <= 0) {
printf("閏年ではないです\n");
}
else {
printf("閏年ではないです\n");
}
}
#include <stdio.h>
//prob3-19の解答(亀田健司さんの解答)
void main() {
int a;
printf("西暦を入力してください:");
scanf("%d", &a);
if (a % 4 == 0) { if (a % 100 == 0) { if (a % 400 == 0) { printf("閏年です\n"); } else { printf("閏年ではありません\n"); } } else { printf("閏年です\n"); } } else { printf("閏年ではありません\n"); }
}
回答2件
あなたの回答
tips
プレビュー