请用循环语句进行程序设计(也可能用到if或switch语句),实现从键盘上输入一个日期,日期格式为:2018-7-9,判断这一天是这一年中的第几天。
注:本题涉及到闰年、平年的判断,已知符合下列条件之一者是润年:
(1)能被4整除,但不能被100整除;
(2)能被400整除。
输入提示信息:"Please Input the Date:\n"
输入格式:"%d-%d-%d"
输出格式:"Result=%d\n"
如果输入月份不在1到12月份之间输出错误提示信息"Input error!\n"
(注:为了便于实现,本题暂不考虑日的合法性)
输入输出用例1:
Please Input the Date:
2010-10-2
Result=275
输入输出用例2:
Please Input the Date:
2000-4-5
Result=96
输入输出用例3:
Please Input the date:
2017-17-2
Input error!
#include<stdio.h>
int main()
{
int day, month, year, sum, leap;
printf("Please Input the Date:\n");
scanf("%d-%d-%d", &year, &month, &day);
switch (month)
{
case 1: sum = 0; break;
case 2: sum = 31; break;
case 3: sum = 59; break;
case 4: sum = 90; break;
case 5: sum = 120; break;
case 6: sum = 151; break;
case 7: sum = 181; break;
case 8: sum = 212; break;
case 9: sum = 243; break;
case 10: sum = 273; break;
case 11: sum = 304; break;
case 12: sum = 334; break;
default: break;
}
if (month <= 12 && month >= 1)
{
sum = sum + day;
if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0))
leap = 1;
else
leap = 0;
if ((leap == 1) && (month > 2))
sum++;
printf("Result=%d\n", sum);
}
else
printf("Input error!\n");
}
请用循环语句进行程序设计(也可能用到if或switch语句),实现从键盘上输入一个日期,日期格式为:2018-7-9,判断这一天是这一年中的第几天。如果输入月份不在1到12月份之间输出错误提示信息"Input error!输入提示信息:"Please Input the Date:\n"(1)能被4整除,但不能被100整除;(注:为了便于实现,本题暂不考虑日的合法性)输出格式:"Result=%d\n"输入格式:"%d-%d-%d"(2)能被400整除。