PAT Grado B 1026 Tiempo de ejecución del programa (15 puntos)

contenido del tema

Para obtener el tiempo de ejecución de un programa en lenguaje C, el método común es llamar al archivo de encabezado time.h, que proporciona la función clock(), que puede capturar el tiempo desde el comienzo del programa hasta el momento en que clock() se llama. Esta unidad de tiempo es el tictac del reloj, es decir, el "tictac del reloj". También hay una constante CLK_TCK, que da el número de tics de reloj que el reloj de la máquina recorre por segundo. Entonces, para obtener el tiempo de ejecución de una función f, solo necesitamos llamar a clock() antes de llamar a f para obtener un número de tictac de reloj C1; llamar a clock() después de ejecutar f para obtener otro número de tictac de reloj C2; dos veces El La diferencia en el número de pulsos de reloj obtenidos (C2-C1) es el número de pulsos de reloj consumidos por la operación de f, dividido por la constante CLK_TCK para obtener el tiempo de ejecución en segundos.

Aquí puede simplemente suponer que la constante CLK_TCK es 100. Ahora, dada la cantidad de tics de reloj obtenidos antes y después de la función bajo prueba, proporcione el tiempo de ejecución de la función bajo prueba.

Formato de entrada:

La entrada da 2 enteros C1 y C2 secuencialmente en una línea. Tenga en cuenta que el número de tics de reloj obtenidos dos veces definitivamente no es el mismo, es decir, C1 < C2, y el valor está en [0,107].

Formato de salida:

Imprime el tiempo que la función bajo prueba se ejecuta en una línea. El tiempo transcurrido debe mostrarse  en formato hh:mm:ss(es decir, de 2 dígitos  时:分:秒); los tiempos inferiores a 1 segundo se redondean al segundo más cercano.

Muestra de entrada:

123 4577973

sin línea en blanco al final

Salida de muestra :

12:42:59

sin línea en blanco al final

Ideas para resolver problemas

Después de restar los números leídos, convierta los milisegundos/100 a segundos y luego convierta los segundos a tiempo.

Código detallado

#include <iostream>
#include <cmath>

using namespace std;
int main(){
    cin.tie();
    double c1,c2,tt;
    cin>>c1>>c2;
    tt = (c2-c1)/100;
    int h,m,s;
     h = tt/3600;
     m = (tt-h*3600)/60;
     s = round(tt-h*3600-m*60);
    printf("%02d:%02d:%02d",h,m,s);
    return 0;
}

Supongo que te gusta

Origin blog.csdn.net/weixin_45660485/article/details/119407005
Recomendado
Clasificación