• 九度OJ 1070:今年的第几天? (日期计算)


    时间限制:1 秒

    内存限制:32 兆

    特殊判题:

    提交:4833

    解决:2716

    题目描述:

    输入年、月、日,计算该天是本年的第几天。

    输入:

    包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。

    输出:
    输入可能有多组测试数据,对于每一组测试数据,
    输出一个整数,代表Input中的年、月、日对应本年的第几天。
    样例输入:
    1990 9 20
    2000 5 1
    样例输出:
    263
    122
    来源:
    2003年清华大学计算机研究生机试真题

    思路:

    主要是注意闰年的情况,其他没难度。


    代码:

    #include <stdio.h>
     
    int main(void)
    {
        int y, m, d;
        int a;
     
        while (scanf("%d%d%d", &y, &m, &d) != EOF)
        {
            a = 0;
            if (m > 1)
                a += 31;
            if (m > 2)
            {
                if (y%4 == 0 && y%100 != 0 || y%400 == 0)
                    a += 29;
                else
                    a += 28;
            }
            if (m > 3)
                a += 31;
            if (m > 4)
                a += 30;
            if (m > 5)
                a += 31;
            if (m > 6)
                a += 30;
            if (m > 7)
                a += 31;
            if (m > 8)
                a += 31;
            if (m > 9)
                a += 30;
            if (m > 10)
                a += 31;
            if (m > 11)
                a += 30;
            if (m > 12)
                a += 31;
     
            a += d;
     
            printf("%d
    ", a);
        }
     
        return 0;
    }
    /**************************************************************
        Problem: 1070
        User: liangrx06
        Language: C
        Result: Accepted
        Time:10 ms
        Memory:912 kb
    ****************************************************************/


    编程算法爱好者。
  • 相关阅读:
    简单验证用户输入身份证号和手机号
    伸展树(Splay Tree)
    AVL树
    Size Balanced Tree(节点大小平衡树)
    Treap
    可持久化线段树(主席树)
    划分树
    归并树
    zkw线段树
    莫比乌斯反演
  • 原文地址:https://www.cnblogs.com/liangrx06/p/5083961.html
Copyright © 2020-2023  润新知