作业帮 > 综合 > 作业

C语言作业,同学问我不会,希望达人给出解答

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/27 20:03:42
C语言作业,同学问我不会,希望达人给出解答
Description
输入“年 月 日” ,输出这个日期的下一天的日期
Input
三个整数 比如 1992 6 30 (用空格分隔)
Output
1992 年6月 30日的下一天的三个数字 1992 7 1
Sample Input
1992 6 30
Sample Output
1992 7 1
Sample Input
2001 12 31
Sample Output
2002 1 1
Sample Input
2000 2 28
Sample Output
2000 2 29
Sample Input
2001 2 28
Sample Output
2001 3 1
HINT
闰 年2月有29日,平年没有,
6月等没有31日
#include
int main()
{
int year,month,day;
scanf("%d %d %d",&year,&month,&day);
int dayofmonth[12]={31,28,31,30,31,30,31,31,30,31,30,31};
if((year %4 == 0 && year %100 !=0) || year %400 == 0) //闰年
{
dayofmonth[1]++; //闰年2月29天
}
if(day == dayofmonth[month-1] && month != 12) //当月的最后一天且不是当年的最后一天
{
month = month+1;
day = 1;
}
else if(month == 12 && day ==31) //当年的最后一天.
{
year = year+1;
month =1;
day =1;
}
else //不是当月的最后一天.
{
day = day+1;
}
printf("%d %d %d",year,month,day);
return 0;
}