南阳理工oj-75 日期计算

日期计算

时间限制: 3000 ms  |  内存限制: 65535 KB 
难度: 1
描述 
如题,输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天。
输入
第一行输入一个数N(0
输出
每组输入数据的输出占一行,输出判断出的天数n
样例输入
3
2000 4 5
2001 5 4
2010 10 24
样例输出
96
124
297

代码:

#include 
int count(int year,int month,int day){
    int sum=0,i,month1[12]={31,28,31,30,31,30,31,31,30,31,30,31};
    if((year%4==0&&year%100!=0)||year%400==0){
        month1[1]=29;
    }
    else
        month1[1]=28;
    for (i=0; i

思路:计算天数最重要是就是要区分闰年和平年中2月的区别,判断闰年的方法就是看他是否能被4整除但是不能被100整除,不过如果能被400整除他也是闰年,闰年里2月有29天。

在定义的计算天数的函数中一开始设定了一个数组,int month1[12]; 这个数组的目的就是为了明确每个月具体天数,一开始假设是平年,将平年每个月的天数赋值给他,然后看是判断是否是闰年是闰年的话2月改成29天如果不是的话就依旧是28天。

接下来就开始计算题是第几天,也可以说是总天数,显示将这个月之前每个月的天数都加给计算天数的sum;这个月不满,所以这个月的天数单独计算,设定了个for循环如果i小于等于day的话就让sum++;这样便将总天数算了出来最后在主函数中调用即可。

你可能感兴趣的:(南阳理工算法)