问题:输入某年某月某日,判断这一天是这一年的第几天
分析:
1,根据月份进行对比,比如1->0,2->31,3->59,4->90...
2,判断年份是否是闰年,同时判断月份是否大于3月份,如果满足,就加1
代码:
int year,month,day,sum=0;
scanf("%d%d%d",&year,&month,&day);
switch(month){
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("error!");break;
}
if(year%4==0&&year%100!=0||year%400==0){
if(month>2){
sum=sum+1;
}
}
sum=sum+day;
printf("%d",sum);
结果: