程序练习2
题目:输入某年某月某日,判断这一天是这一年的第几天?
1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
情况,闰年且输入月份大于3时需考虑多加一天。
#include <stdio.h> #include <math.h> int main() { int year,month,date,leap,days=0; scanf("%d%d%d",&year,&month,&date); leap=(year%4==0&&year%100!=0||year%400==0);
/*先计算某月以前月份的总天数*/ switch(month) { case 12:days+=30; case 11:days+=31; case 10:days+=30; case 9:days+=31; case 8:days+=31; case 7:days+=30; case 6:days+=31; case 5:days+=30; case 4:days+=31; case 3:days+=28+leap; case 2:days+=31; case 1:days+=date;break; } printf("%d ",leap); printf("%4d年%2d月%2d日是这一年的第%d天。 ",year,month,date,days); system("pause"); return 0; }