【C补充】判断明天是哪一天(明天的日期)
一、概述
1.1 功能介绍
- 随机输入一个有效日期,输出第二天的日期
1.2 重点
- 该日期是否是某月最后一天?
- 是否是闰二月?
- 是否是最后一个月?
1.3 实现方法
- 使用结构体,将年月日存储在一个结构变量中
二、代码
#include
#include //引入bool类型struct date { //结构标号date int year;int month;int day;
};int numberOfDays(struct date d); //某月天数
bool isLeap(struct date d); //判断闰年 int main(int argc, char* const argv[]){struct date today, tommorow;printf("输入日期(年 月 日):"); scanf(" %i %i %i", &today.year, &today.month, &today.day);if( today.day != numberOfDays(today) ){ //比较天数, 判断是否最后一天 tommorow.day = 1;tommorow.month = today.month + 1;tommorow.year = today.year;}else if( today.month == 12 ){tommorow.day = 1;tommorow.month =1;tommorow.year = today.year + 1;}else {tommorow.day = today.day + 1;tommorow.month = today.month;tommorow.year = today.year;}printf("明天是 %i年%i月%i日.\n", tommorow.year, tommorow.month, tommorow.day);return 0;
}//判断本月天数
int numberOfDays(struct date d)
{int days; //记录本月天数 const int daysPerMonth[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; //全年各月天数 if( d.month == 2 && isLeap(d) )days = 29; //闰二月,取29天 elsedays = daysPerMonth[d.month-1]; return days;
}//判断闰年
bool isLeap(struct date d)
{bool leap = false;//闰年:能被4整除但不能被100整除,或能被400整除 if( (d.year%4 == 0 && d.year%100 != 0) || d.year%400 == 0 )leap = true;return leap;
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!