首先判断输入的年份是闰年还是平年,闰年2月是29天,平年2月是28天。
测试数据:2021/6/7 结果:2021/6/7是该年度第158天。
代码:
#include<stdio.h>
main(){
int year,month,day,i,d,d1=0;
printf("请输入一个日期:");
scanf("%d/%d/%d",&year,&month,&day);
if(year%100!=0&&year%4==0||year%400==0){//判断输入的年份是闰年还是平年,平年2月28天,闰年2月29天
for(i=1;i<month;i++){//从一月开始循环
switch(i){
case 2:d=29;break;
case 4:d=30;break;
case 6:d=30;break;
case 9:d=30;break;
case 11:d=30;break;
default:d=31;
}
d1+=d;
}
}else{
for(i=1;i<month;i++){
switch(i){
case 2:d=28;break;
case 4:d=30;break;
case 6:d=30;break;
case 9:d=30;break;
case 11:d=30;break;
default:d=31;
}
d1+=d;
}
}
d1+=day;
printf("\n%d/%d/%d是该年度第%d天。",year,month,day,d1);
return 0;
}
运行结果: