给定某年某日,将其转化为这一年的第几天并输出。
int year,month,day,sum = 0;
printf("请输入年月日\n");
scanf("%d %d %d",&year,&month,&day);
switch (month){
case 2: {
sum = 31;
break;
}case 3: {
sum = 31 + 29;
break;
}case 4: {
sum = 31 + 29 + 31;
break;
}case 5: {
sum = 31 + 29 + 31 + 30;
break;
}case 6: {
sum = 31 + 29 + 31 + 30 + 31;
break;
}case 7: {
sum = 31 + 29 + 31 + 30 + 31 + 30 ;
break;
}case 8: {
sum = 31 + 29 + 31 + 30 + 31 +30 + 31 ;
break;
}case 9:{
sum = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31;
break;
}case 10:{
sum = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30;
break;
}case 11:{
sum = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31;
break;
}case 12:{
sum = 31 + 29 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30;
break;
}
}
if (month <= 3) {
sum = sum + 1;
printf("这是这一年的第%d天\n",sum);
}
else if ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0))) {
printf("该年是闰年\n");
sum = sum + day;
printf("这是这一年的第%d天\n",sum);
} else {
printf("该年不是闰年\n");
sum = sum + day - 1;
printf("这是这一年的第%d天\n",sum);
}