莫启飞 发表于 2021-10-17 00:06:30

求一个时间统计算法题的解法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秒

人造人 发表于 2021-10-17 01:29:15

#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 16:16:50

人造人 发表于 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

人造人 发表于 2021-10-17 16:23:31

没有这个函数?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秒
$

傻眼貓咪 发表于 2021-10-17 16:28:09

C++ ?

傻眼貓咪 发表于 2021-10-17 16:28:51

#include <bits/stdc++.h>

莫启飞 发表于 2021-10-17 16:47:05

傻眼貓咪 发表于 2021-10-17 16:28
C++ ?

嗯嗯是的{:5_109:}

莫启飞 发表于 2021-10-17 16:48:56

傻眼貓咪 发表于 2021-10-17 16:28
C++ ?

哦不是,楼二的代码是c语言的,但都一样的
页: [1]
查看完整版本: 求一个时间统计算法题的解法c++