题目:1、编写函数,内容:输入年份判断是否为闰年,返回真假值。2、编写函数:输入年月,返回这一月的天数。3、输入日,返回是这一年的第几天。(注意:判断输入年月是否有效)
闰年是能被4整除不能被100整除且能被400整除的年份。闰年2月有29天,非闰年有28天。
#include<stdio.h>
bool LeapYear(int year)
{
return (year % 4 == 0 && year % 100 != 0 || year % 400 == 0);
}
int Month(int year,int month)
{
int Day[13] = { 29,31,28,31,30,31,30,31,31,30,31,30,31 }; //查表
if (2 == month && LeapYear(year))
{
month = 0;
}
return Day[month];
}
int Get_Daynum(int year, int month, int day)
{
int sum = 0;
for (int i = 1; i < month; i++)
{
sum += Month(year, i);
}
sum += day;
return sum;
}
int main()
{
int year, month, day;
char ch = 0;
do
{
printf("请输入年份:");
scanf("%d", &year);
printf("请输入月份:");
scanf("%d", &month);
printf("请输入日:");
scanf("%d", &day);
LeapYear(year);
Month(year, month);
Get_Daynum(year, month, day);
if (year < 1)
{
printf("输入年份有误!\n");
}
if (month > 12 || month < 1)
{
printf("输入月份有误!\n");
}
if (day < 1 || day > Month(year,month))
{
printf("输入天数有误!\n");
}
printf("是否继续(y/n)?:");
rewind(stdin);
scanf("%c",&ch);
} while (ch == 'y' || ch == 'Y');
printf("%d年%d月有%d天\n这一天是这一年的第%d天。\n", year, month, Month(year, month), Get_Daynum(year, month, day));
}
本文结束,感谢阅览!
本文介绍了一个使用C语言实现的日期处理程序,包括判断闰年、获取指定月份天数及计算一年中某日的具体编号的功能。通过三个核心函数,用户可以输入年、月、日,程序将验证输入的有效性并返回相关信息。

1196

被折叠的 条评论
为什么被折叠?



