输入年月日三个值,先累加该年之前各个月的每月天数,最后累加日期天数即可获取结果。
一、算法设计:
1、输入年月日三个值;
2、为保证程序健壮性,可以对三个值的合法性进行判断,只对合法数据进行操作;
3、累加之前各月天数;
4、累加当前日值;
5、输出结果。
二、注意点:
可以使用数组存储各个月份的天数,用循环累加。需要注意的是闰年的判断。对于闰年,2月要多加一天。
三、参考代码:
#include <stdio.h>
int main()
{
int mdays[12] = {31,28,31,30,31,30,31,31,30,31,30,31};//十二个月的天数。
int y,m,d,r=0,i;
scanf("%d%d%d",&y,&m,&d);
if(y%400==0 || (y%4==0 && y %100 != 0))//闰年。
mdays[1] = 29;//设置闰年二月值。
if(y<0 || m<=0 || m>12 || d<=0 || d>mdays[m-1])//输入非法。
{
printf("输入年月日不合法\n");//提示并退出。
return -1;
}
for(i = 0; i < m-1; i ++)//累加之前各个月。
r+=mdays[i];
r+=d;//累加日期值。
printf("%d\n",r);//输出结果。
return 0;
}
温馨提示:答案为网友推荐,仅供参考