概述
题目描述
在未来的某一天,小明学长躺在他XXX平米的别墅里喝着龙井,突然一种莫名其妙的感觉涌上心头:一晃这么长的时间过去了,记得当时和队友在331有时因为想出一道题的好的解法能兴奋的喊出来,真想回去再打场比赛。于是小明学长就想约上那些老队友一起回去看看,但是又不想开车回去,因为他比较喜欢锻炼,所以想骑着山地车来次长途的旅行,顺便还能看看沿途的风景。现在学长准备year0-month0-day0早晨出发,和老队友们约好year0-month1-day1晚上到达(晚上更适合回忆嘛╮( ̄▽  ̄)╭),学长想知道这次回去路上需要多少天,但是又懒得计算,所以就麻烦聪明的学弟你来帮学长算算吧。
输入
第一行输入一个整数n,表示有n组数据。
每组测试数据占一行,分别为两个日期,日期格式为:year-month-day,用空格隔开。具体见输入样例。约定两个日期年份相同。
输出
第一行输入一个整数n,表示有n组数据。
每组测试数据占一行,分别为两个日期,日期格式为:year-month-day,用空格隔开。具体见输入样例。约定两个日期年份相同。
样例输入
2
2018-10-27 2018-10-30
2018-11-1 2018-11-11
样例输出
4
11
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
while(n--)
{
int year;
int month1,month2,day1,day2;
scanf("%d-%d-%d",&year,&month1,&day1);
scanf("%d-%d-%d",&year,&month2,&day2);
if(month1==month2)
printf("%dn",day2-day1+1);
else
{
int sum1=0;//第一次时间在当年的第几天
switch(month1-1)
{
case 12:
sum1+=31;
case 11:
sum1+=30;
case 10:
sum1+=31;
case 9:
sum1+=30;
case 8:
sum1+=31;
case 7:
sum1+=31;
case 6:
sum1+=30;
case 5:
sum1+=31;
case 4:
sum1+=30;
case 3:
sum1+=31;
case 2:
if(year%4==0&&year%100!=0||year%400==0)
sum1+=29;
else
sum1+=28;
case 1:
sum1+=31;
}
sum1+=day1;
int sum2=0;//第二次时间在当年的第几天
switch(month2-1)
{
case 12:
sum2+=31;
case 11:
sum2+=30;
case 10:
sum2+=31;
case 9:
sum2+=30;
case 8:
sum2+=31;
case 7:
sum2+=31;
case 6:
sum2+=30;
case 5:
sum2+=31;
case 4:
sum2+=30;
case 3:
sum2+=31;
case 2:
if(year%4==0&&year%100!=0||year%400==0)
sum2+=29;
else
sum2+=28;
case 1:
sum2+=31;
}
sum2+=day2;
printf("%dn",sum2-sum1+1);
}
}
return 0;
}
最后
以上就是独特小伙为你收集整理的zzuli OJ 2357: 小明学长回学校的全部内容,希望文章能够帮你解决zzuli OJ 2357: 小明学长回学校所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复