ACM 一道简单题 (C/C++)
第几天时间限制(普通/Java):1000MS/10000MS运行内存限制:65536KByte总提交:1729测试通过:812描述给定一个日期,输出这个日期是该年的第几...
第几天
时间限制(普通/Java):1000MS/10000MS 运行内存限制:65536KByte
总提交: 1729 测试通过: 812
描述
给定一个日期,输出这个日期是该年的第几天。
输入
输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
输出
对于每组输入数据,输出一行,表示该日期是该年的第几天。
样例输入
2000-01-01
样例输出
1
#include<stdio.h>
int main(){
int days,year,moon,day,i;
int run[]={0,31,29,31,30,31,30,31,31,30,31,30},ping[]={0,31,28,31,30,31,30,31,31,30,31,30};
while(scanf("%d-%d-%d",&year,&moon,&day)!=EOF){
days=0;
for(i=2000;i<year;i++)
if(i%400==0||i%100!=0&&i%4==0)
days+=366;
else
days+=365;
if(year%400==0||year%100!=0&&year%4==0)
for(i=1;i<=moon;i++)
days+=run[i-1];
else
for(i=1;i<=moon;i++)
days+=ping[i-1];
printf("%d\n",days+day);
}
return 0;
}
为什么wrong answer
(题目来自台州ACM 1071 展开
时间限制(普通/Java):1000MS/10000MS 运行内存限制:65536KByte
总提交: 1729 测试通过: 812
描述
给定一个日期,输出这个日期是该年的第几天。
输入
输入数据有多组,每组占一行,数据格式为YYYY-MM-DD组成,具体参见sample input ,另外,可以向你确保所有的输入数据是合法的。
输出
对于每组输入数据,输出一行,表示该日期是该年的第几天。
样例输入
2000-01-01
样例输出
1
#include<stdio.h>
int main(){
int days,year,moon,day,i;
int run[]={0,31,29,31,30,31,30,31,31,30,31,30},ping[]={0,31,28,31,30,31,30,31,31,30,31,30};
while(scanf("%d-%d-%d",&year,&moon,&day)!=EOF){
days=0;
for(i=2000;i<year;i++)
if(i%400==0||i%100!=0&&i%4==0)
days+=366;
else
days+=365;
if(year%400==0||year%100!=0&&year%4==0)
for(i=1;i<=moon;i++)
days+=run[i-1];
else
for(i=1;i<=moon;i++)
days+=ping[i-1];
printf("%d\n",days+day);
}
return 0;
}
为什么wrong answer
(题目来自台州ACM 1071 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询