您当前的位置:首页 > 计算机 > 编程开发 > C语言

求某一年的某一月有多少天问题

时间:01-03来源:作者:点击数:

从键盘输入年号和月号,求这一年的这一月共有多少天。 

分析:

① 这个问题需要考虑闰年问题,因为二月份的天数与闰年有关。闰年的判断依据是:若某年能被4整除,但不能被100整除,则这一年是闰年;若某年能被400整除,则这一年也是闰年。请考虑:闰年如何表达?

② 本题13个分支(比1年12个月共需12个分支多1),编程可使用的多分支结构有哪些?else…if、if…else的嵌套和switch使用哪一个最为简捷?是switch吗? 

程序如下:

        #include "stdio.h" 
        main( ) 
        { 
         int year, month, days; 
         printf("Input year and month: "); 
         scanf("%d%d",&year,&month); 
         switch(month) 
         { 
         case 1: 
         case 3: 
         case 5: 
         case 7: 
         case 8: 
         case 10: 
         case 12: days=31; break; 
         case 4: 
         case 6: 
         case 9: 
         case 11: days=30; break; 
         case 2: 
         if(year%4==0 && year%100!=0 || year%400==0) days=29; 
         else days=28; 
         break; 
         default: printf("Data error! "); break; 
         } 
         printf("Days=%d",days); 
        } 

第一次运行结果为: 
        Input year and month:2000 2↙ 
        Days=29 

第二次运行结果为: 
        Input year and month:2007 2↙ 
        Days=28 

第三次运行结果为: 
        Input year and month:2008 9↙ 
        Days=30 

请思考:本题用来判断闰年的表达式是year%4==0 && year%100!=0 || year%400==0,用来判断非闰年的表达式是什么?

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
上一篇:打印图形 下一篇:水仙花数问题
推荐内容
相关内容
栏目更新
栏目热门