判断日期是这一年的第几天 输入某年某月某日,判断这一天是这一年的第几天?
时间: 2023-11-20 11:54:02 浏览: 307
这段代码是一个C语言程序,可以根据输入的日期计算出这一天是这一年的第几天。具体实现是通过switch语句根据输入的月份计算出该月之前所有月份的天数之和,再加上输入的日期,最后根据是否是闰年来判断是否需要加1。如果是闰年,2月份有29天,所以需要加1。如果不是闰年,则2月份只有28天,不需要加1。下面是代码的解释:
```c
#include<stdio.h>
int main() {
int A,X,Y,sum; //定义变量
printf("请输入日期:");
scanf("%d.%d.%d",&A,&X,&Y); //输入日期
switch(X) { //根据月份计算之前所有月份的天数之和
case 1:sum=0,sum=sum+Y;break;
case 2:sum=31,sum=sum+Y;break;
case 3:sum=59,sum=sum+Y;break;
case 4:sum=90,sum=sum+Y;break;
case 5:sum=120,sum=sum+Y;break;
case 6:sum=151,sum=sum+Y;break;
case 7:sum=181,sum=sum+Y;break;
case 8:sum=212,sum=sum+Y;break;
case 9:sum=243,sum=sum+Y;break;
case 10:sum=273,sum=sum+Y;break;
case 11:sum=304,sum=sum+Y;break;
case 12:sum=334,sum=sum+Y;break;
default:printf("data error");break;
}
if((A%4==0&&A%100!=0)||(A%400==0)) { //判断是否是闰年
printf("这是第%d天",sum+1); //是闰年,需要加1
} else {
printf("这是第%d天",sum); //不是闰年,不需要加1
}
return 0;
}
```
阅读全文