7-192 浪漫的表白
有一个帅小伙一直暗恋一个女孩,但他还是没有勇气向她表白“我爱你”,更别说“某某某,我爱你,如果非要在这份‘爱’上加一个期限的话,那就是一万年”这类肉麻的话,生怕说了后会是“落花有意流水无情”,连朋友都无法做。不过,在经过一阵思想斗争以后,最后终于还是鼓起勇气向那个女孩进行了表白。女孩没有直接回复他,说了如下这段话: 我知道你一直在关心我,我了解你的心意,但我已经有心仪的人了,我的答案在下面这个问题里,你写出程序看看结果就知道啦。
问题是这样的:你的生日和我的生日之差,如果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 <time.h>
#include <math.h>
int main() {
struct tm time_boy;
struct tm time_girl;
int time_boy_year, time_boy_mon;
int time_girl_year, time_girl_mon;
long diff_time_day;
scanf("%d-%d-%d", &time_boy_year, &time_boy_mon, &time_boy.tm_mday);
scanf("%d-%d-%d", &time_girl_year, &time_girl_mon, &time_girl.tm_mday);
time_boy.tm_year = time_boy_year - 1900;
time_girl.tm_year = time_girl_year - 1900;
time_boy.tm_mon = time_boy_mon - 1;
time_girl.tm_mon = time_girl_mon - 1;
time_boy.tm_hour = 0;
time_boy.tm_min = 0;
time_boy.tm_sec = 0;
time_girl.tm_hour = 0;
time_girl.tm_min = 0;
time_girl.tm_sec = 0;
time_t boy = mktime(&time_boy);
time_t girl = mktime(&time_girl);
diff_time_day = labs((long) difftime(boy, girl));
diff_time_day = diff_time_day / 86400;
if (diff_time_day % 2 == 0) {
printf("我们生日相差%ld天\n", diff_time_day);
printf("傻瓜,我心仪的人其实是你呀!");
} else {
printf("我们生日相差%ld天\n", diff_time_day);
printf("对不起,我们有缘无份");
}
return 0;
}
思路
- 我敲,看到代码给我自己看傻了,写的啥玩意儿,我是咋做的
- 依稀记得当时是学了一下,时间这个头文件,然后一顿瞎操作,搞出来这道题了,现在忘了库函数怎么用了
- 现在想了想计算一下时间差不还是有手就行,但我懒,就不贴具体代码了,之前的部分题目应该涉及到了类似的问题