您的位置:首页 > 编程语言 > C语言/C++

C语言 计算某年某日是该年的第几天 014

2016-09-23 08:43 190 查看
#include <stdio.h>
#include <stdlib.h>

/*
计算某年某日是该年的第几天
例如: 2016-03-15
是该年的第75天.
*/

//判断是否是闰年 是返回1 不是返回0;
int Lyear(int years)
{
int res = 0;
if (years %400==0 || years % 4 == 0 && years % 100 != 0)   //计算闰年;
{
res = 1;
}
return res;
}

//统计天数
int star(int years, int month,int day)
{
int temp = 0;
for (int i = 1; i<month;i++)
{
if (i == 2 && month > 2)
{
if (Lyear(years))
temp += 29;
else
temp += 28;
continue;
}
switch (i)
{
case 4:temp += 30;
continue;
case 6:temp += 30;
continue;
case 9:temp += 30;
continue;
case 11:temp += 30;
continue;
default:
break;
}
temp += 31;
}
return temp + day;            //当月的天数  例如 3月15日  则 +15;

}
//判断输入的日期是否正确
int Whe(int month, int day)
{
int ret = 1;
if (month > 12 || day > 31)
ret = 0;
return ret;
}

int main()
{
int year = 2016, month = 12, day = 31;
if (Whe(month, day))              //防止输入错误的日期  例如 2016-15-35;
printf("%d-%d-%d 是该年的第%d天\n", year, month, day, star(year, month, day));
else
printf("日期输入错误,想调戏我在等100年把\n");

system("pause");
return 0;
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言