第九周 oj训练 第几天

Copyright (c) 2016 烟台大学计算机与控制工程学院
All rights reserved.
文件名称:test.cpp
作者:何定钦
完成日期:2016年10月29日
Description:
    给定一个日期,输出这个日期是该年的第几天。
Input:
    输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
Output:
    对于每组输入数据,输出一行,表示该日期是该年的第几天。
Sample Input:
    2000-01-01
Sample Output:
    1
代码及错误:
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int x,y,z,days,i;
    while(scanf("%d-%d-%d",&x,&y,&z)!=EOF)
    {
        days=z;
        for(i=1; i<y; ++i)
        {
            switch(i)
            {
            case 2:
                if((x%4==0 && x%100!=0)||(x%400==0))
                    days+=29;
                else
                    days+=28;
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                days+=30;
                break;
            default:
                days+=31;
            }
        }
        printf("%d\n",days);
    }
    return 0;
}

结果:


知识点总结:

   循环套循环,以及各种语句的综合运用。

心得体会:

   合理运用循环,以及switch语句使得计算简单了一些。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值