*たくさんの方よりご指摘をいただけてとてもありたいです。
引き続き、よろしくお願い致します。
C言語を勉強している初心者のものです。
今課題をいただき、その作成をしております。
先日提出(全18問)したのですが、大部分が間違っているので、
再度問題を見なおした上で提出してくれと言われてしまいました。
今回は課題なので、間違っている点を教えていただけませんでした。
個人的には、どの辺りが間違っているのかわからないため、
客観的な視点が欲しく、今回ご相談させていただきました。
18問の中の1つですが、
ソースが問題文との趣旨と外れているようでしたら
ご指摘いただけますと幸いです。
【問題】
西暦年を引数とし、閏年かどうか判定する関数を作成せよ。
【閏年の条件】
・年が400の倍数なら閏年である
・年が400の倍数でない、100の倍数でなければ閏年ではない
・年が100の倍数でない、4の倍数であれば閏年である
・年が4の倍数でなければ閏年ではない
【回答】
#include <stdio.h> int uruu(int year); int main(void) { int year,hold; printf("西暦を入力してください\n"); scanf("%d",&year); hold = uruu(year); switch (hold) { case 0: printf("閏年ではありません。\n"); break; case 1: printf("閏年です。\n"); break; case 2: printf("数値がマイナスです。再度入力しなおしてください。\n"); break; }; return 0; } int uruu(int year) { if(year <= 0) { return 2; } if (year % 400 == 0) { return 1; } if (year % 4 == 0) { return 1; } if (year % 100 != 0) { return 0; } if (year % 4 != 0) { return 0; } return 0; }
皆様いつもご回答ありがとうございます。
回答4件
あなたの回答
tips
プレビュー