<记录学C-每日一练>4.判断某天是第几天

//<出自小甲鱼老师课程>

/*输入某年某月某天,判断这是这一年的第几天?
分析:1.随便举例一下,5月5日,应该把前4个月的天数加起来,然后再加上5天,就是这一年的第几天。
2.但是!!!要考虑闰年的问题(众所周知,闰年2月多一天),闰年且大于2月时,需要加上一天。
3. 1、3、5、7、8、10、12月31天;2月28/29天;4、6、9、11月30天*/

#include<stdio.h>
void main()
{
     int year,month,day,leap,sum;
     printf("Please imput a date:  ");
     scanf("%d,%d,%d",&year,&month,&day);
     switch(month)           //先是不考虑闰年的情况下
     {
        case1: sum=0;
               break;       //输入的是1月时,sum=0+day
        case2: sum=31;
               break;
        case3: sum=59;
               break;
        case4: sum=90;
               break;
        case5: sum=120;
               break;
        case6: sum=151;
               break;
        case7: sum=181;
               break;
        case8: sum=212;
               break;
        case9: sum=243;
               break;
        case10: sum=273;
               break;
        case11: sum=304;
               break;
        case12: sum=334;
               break;
        default:printf("input error\n");
     }
     
     if(year%4==0&&year%100!=0||year%400==0)     //判断是否闰年
     
         leap=1;
     
     
     else
    
         leap=0;
     
     
     if(leap==1&&month>2)            //判断是闰年且大于2月需要加上一天     
         sum++;
     sum=sum+day;
     printf("%d\n",sum);
         

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值