题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
2.程序源代码:
1 #include<stdio.h> 2 int main() 3 { 4 int day,month,year,sum,leap; 5 printf("\nplease input year,month,day\n"); 6 scanf("%d,%d,%d",&year,&month,&day); 7 switch(month)/*先计算某月以前月份的总天数*/ 8 { 9 case 1:sum=0;break; 10 case 2:sum=31;break; 11 case 3:sum=59;break; 12 case 4:sum=90;break; 13 case 5:sum=120;break; 14 case 6:sum=151;break; 15 case 7:sum=181;break; 16 case 8:sum=212;break; 17 case 9:sum=243;break; 18 case 10:sum=273;break; 19 case 11:sum=304;break; 20 case 12:sum=334;break; 21 default:printf("data error");break; 22 } 23 sum=sum+day; /*再加上某天的天数*/ 24 if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/ 25 leap=1; 26 else 27 leap=0; 28 if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/ 29 sum++; 30 printf("It is the %dth day.",sum); 31 return 0; 32 }
微信公众号: 猿人谷
如果您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】
如果您希望与我交流互动,欢迎关注微信公众号
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。