C语言程序设计:功能:编写程序(使用Switch ),给出年月日,计算出该日是该年的第几天。判断是否为 闰年的条件是:能被 4 整除但是不能被100整除或者能被四百整除。

 /*-------------------------------------------------------
功能:编写程序(使用Switch ),给出年月日,计算出该日是该年的第几天。判断是否为
      闰年的条件是:能被 4 整除但是不能被100整除或者能被四百整除。
--------------------------------------------------------*/
#include"stdio.h"
main()
{ 
	int year,month,day,days=0,i,d;
       printf("请输入年-月-日:");
	scanf("%d-%d-%d",&year,&month,&day);
	for(i=1;i<month;i++)
	{ 
/**********Program**********/
	switch(month) 
	{
    case 1:days=0;break;
    case 2:days=31;break;
    case 3:days=59;break;
    case 4:days=90;break;
    case 5:days=120;break;
    case 6:days=151;break;
    case 7:days=181;break;
    case 8:days=212;break;
    case 9:days=243;break;
    case 10:days=273;break;
    case 11:days=304;break;
    case 12:days=334;break;
    }
    if((year%4==0&&year%100!=0)||(year%400==0)) 
    {
       if(month>2) 
       {
        days+=1;
        }
    }
/**********  End  **********/
	}
	printf("%d-%d-%d是该年第%d天\n",year,month,day,days + day);
}

该程序使用了switch语句来根据输入的月份计算天数。在每个月份之前,通过switch语句设置了每个月份之前已经过去的天数。

在计算月份之前,还根据闰年的条件进行了判断,即能被4整除但不能被100整除,或者能被400整除。如果输入的月份大于2且满足闰年条件,则天数需要加1。

最后,将计算得到的已过去天数与输入的日份相加,得到该日期是该年的第几天,并将结果输出。

  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值