![324a94d6843f9b14ead752174fbc6f67.png](https://i-blog.csdnimg.cn/blog_migrate/382800e8178dabb691e0f7d65d87079f.jpeg)
PTA是浙江大学设计类实验辅助教学平台。
![877ceeea74592df27fc058428c32f9d6.png](https://i-blog.csdnimg.cn/blog_migrate/6d91091b4793166f8f86ff66f974836b.png)
题目描述:
本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
输出格式:
在一行输出日期是该年中的第几天。
输入样例1:
2009/03/02
输出样例1:
61
输入样例2:
2000/03/02
输出样例2:
62
![117c9a2aafa7582370e5bb75afd388ce.png](https://i-blog.csdnimg.cn/blog_migrate/56ec9f57386470c3b3922bff15acb234.png)
编译器
C(gcc)
提交代码
#include <stdio.h>
static int months[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int isLeapYear(int year);
int days(int year,int month,int day);
int main(){
int year,month,day;
scanf("%d/%d/%d",&year,&month,&day);
printf("%d",days(year,month,day));
return 0;
}
//判断闰年
int isLeapYear(int year){
if (year%4==0&&year%100!=0||year%400==0)
{
return 1;
}
return 0;
}
//计算天数
int days(int year,int month,int day){
int count=0;
if (isLeapYear(year))
{
months[2]=29;
}
for (int i = 0; i < month; i++)
{
count+=months[i];
}
return count+day;
}
提交结果
![43aec76fd2d7c72b5776df0a0851312b.png](https://i-blog.csdnimg.cn/blog_migrate/aa8c1ec9ab87a75fd32d864c77e5be01.png)
![fe970915b9ca3c44d756cbb53b8bee78.png](https://i-blog.csdnimg.cn/blog_migrate/b30a57c56cd02e8ef2d49fa39307211d.jpeg)