求一个时间统计算法题的解法c++
期望结果:希望能吧代码写出来,能加上注释就最好了,谢谢题目来源杭电oj2021
Problem Description
某个实验需要统计时间,记录了实验开始和结束的时间,计算实验所用的时间。
Input
第一行输入一个整数n,表示样例个数,0<n<1000。接下来每组样例两行,表示开始时间和结束时间,格式为x天HH时MM分SS秒,x是一个整数表示第几天,0<x<20000,保证时间合法,结束时间比开始时间晚。
Output
每组数据输出经过的时间。
Sample Input
1
01天03小时26分12秒
01天04小时26分12秒
Sample Output
00天01小时00分00秒 #include <stdio.h>
#include <time.h>
int main() {
struct tm a = {0}, b = {0};
scanf("%d天%d小时%d分%d秒", &a.tm_mday, &a.tm_hour, &a.tm_min, &a.tm_sec);
scanf("%d天%d小时%d分%d秒", &b.tm_mday, &b.tm_hour, &b.tm_min, &b.tm_sec);
time_t c = mktime(&b) - mktime(&a);
struct tm d; gmtime_r(&c, &d);
printf("%d天%d小时%d分%d秒\n", d.tm_mday - 1, d.tm_hour, d.tm_min, d.tm_sec);
return 0;
}
人造人 发表于 2021-10-17 01:29
您好,我试着拿着您的代码去oj上提交,上面显示下面这个,应该是格式错了,您能看看吗
C:\Windows\TEMP\ccA6rCpk.o:2_37884_3662432_3239.c:(.text.startup+0xe4): undefined reference to `gmtime_r'
collect2.exe: error: ld returned 1 exit status 没有这个函数?gmtime_r
那就改成 gmtime
#include <stdio.h>
#include <time.h>
int main() {
struct tm a = {0}, b = {0};
scanf("%d天%d小时%d分%d秒", &a.tm_mday, &a.tm_hour, &a.tm_min, &a.tm_sec);
scanf("%d天%d小时%d分%d秒", &b.tm_mday, &b.tm_hour, &b.tm_min, &b.tm_sec);
time_t c = mktime(&b) - mktime(&a);
//struct tm d; gmtime_r(&c, &d);
struct tm *d = gmtime(&c);
//printf("%d天%d小时%d分%d秒\n", d.tm_mday - 1, d.tm_hour, d.tm_min, d.tm_sec);
printf("%d天%d小时%d分%d秒\n", d->tm_mday - 1, d->tm_hour, d->tm_min, d->tm_sec);
return 0;
}
$ ./main
01天03小时26分12秒
01天04小时26分12秒
0天1小时0分0秒
$ C++ ? #include <bits/stdc++.h> 傻眼貓咪 发表于 2021-10-17 16:28
C++ ?
嗯嗯是的{:5_109:} 傻眼貓咪 发表于 2021-10-17 16:28
C++ ?
哦不是,楼二的代码是c语言的,但都一样的
页:
[1]