有一个帅小伙一直暗恋一个女孩,但他还是没有勇气向她表白“我爱你”,更别说“某某某,我爱你,如果非要在这份‘爱’上加一个期限的话,那就是一万年”这类肉麻的话,生怕说了后会是“落花有意流水无情”,连朋友都无法做。不过,在经过一阵思想斗争以后,最后终于还是鼓起勇气向那个女孩进行了表白。女孩没有直接回复他,说了如下这段话: 我知道你一直在关心我,我了解你的心意,但我已经有心仪的人了,我的答案在下面这个问题里,你写出程序看看结果就知道啦。
问题是这样的:你的生日和我的生日之差,如果x是奇数,则结果是“对不起,有缘无份”,如果是偶数,则结果是“傻瓜,我心仪的人其实是你呀!”。
请你编写一个程序判断两人是否能在一起!
输入格式:
输入有2行,第1行表示男生的出生日期,第2行表示女生的出生日期。
输出格式:
首先输出两人生日相隔的天数,如果两人的生日相隔天数是奇数,则输出“对不起,我们有缘无份”,如果是偶数,则输出“傻瓜,我心仪的人其实是你呀!”。
输入样例1:
在这里给出一组输入。例如:
2000-06-05
2000-06-06
输出样例1:
在这里给出相应的输出。例如:
我们生日相差1天
对不起,我们有缘无份
输入样例2:
在这里给出一组输入。例如:
2000-06-05
2000-06-07
输出样例2:
在这里给出相应的输出。例如:
我们生日相差2天
傻瓜,我心仪的人其实是你呀!
#include <stdio.h>
#include <math.h>
int is_leapyear(int x)
{
if((x%4==0&&x%100!=0)||x%400==0)//判断闰年
return 1;
else
return 0;
}
int main()
{
int arr[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int year1,year2,month1,month2,day1,day2;
int sum1=0;
int sum2=0;
scanf("%d-%d-%d",&year1,&month1,&day1);
scanf("%d-%d-%d",&year2,&month2,&day2);
//计算男生天数
int i;
if(is_leapyear(year1))
{
arr[2]=29;
for(i=1;i<month1;i++)
sum1+=arr[i];
}
else
{
for(i=1;i<month1;i++)
sum1+=arr[i];
}
sum1+=day1;
arr[2]=28;// 统计男生天数时如果为闰年2月变成29天,这里重置二月天数,再统计女生天数
//计算女天数
int j;
if(is_leapyear(year2))
{
arr[2]=29;
for(j=1;j<month2;j++)
sum2+=arr[j];
}
else
{
for(j=1;j<month2;j++)
sum2+=arr[j];
}
sum2+=day2;
int sub=abs(sum1-sum2);
for(int i=year1;i<year2;i++)
{
if(is_leapyear(i))
sub+=366;
else
sub+=365;
}
printf("我们生日相差%d天\n",sub);
if(sub%2!=0)
printf("对不起,我们有缘无份\n");
else
printf("傻瓜,我心仪的人其实是你呀!\n");
return 0;
}