Frage 6 des Lanqiao Cup 21

Xiaolan möchte mit ihren Freunden zusammenarbeiten, um eine Website zur Zeitanzeige zu entwickeln. Auf dem Server hat der Freund die aktuelle Zeit erhalten, dargestellt durch eine Ganzzahl, und der Wert ist die Anzahl der Millisekunden, die seit 00:00:00 Uhr am 1. Januar 1970 bis zum aktuellen Zeitpunkt vergangen sind. Nun möchte Xiaolan diese Zeit auf dem Client anzeigen. Xiaolan muss nicht das Jahr, den Monat und den Tag anzeigen, sondern nur die Stunden, Minuten und Sekunden. Die Millisekunden müssen nicht angezeigt werden, sondern werden einfach verworfen. Geben Sie bei einer durch eine Ganzzahl dargestellten Zeit die Stunden, Minuten und Sekunden aus, die dieser Zeit entsprechen. \n[Eingabeformat]\nGeben Sie eine Zeile ein, die eine Ganzzahl enthält, die die Zeit darstellt. \n【Ausgabeformat】\nGibt die aktuelle Zeit in Stunden, Minuten und Sekunden aus. Das Format ist HH:MM:SS, wobei HH für Stunden steht, der Wert ist 0 bis 23, MM steht für Minuten, der Wert ist 0 bis 59 , SS stellt Sekunden dar. Die Werte liegen zwischen 0 und 59. Minuten und Sekunden. Bei weniger als zwei Ziffern werden führende Nullen hinzugefügt. \n[Beispieleingabe 1]\n46800999\n[Beispielausgabe 1]\n13:00:00\n[Beispieleingabe 2]\n1618708103123\n[Beispielausgabe 2]\n01:08:23

Tatsächlich ist der Code dieser Frage nicht kompliziert, aber es ist durchaus möglich, ihn komplizierter zu machen. Beispielsweise denken wir daran, zuerst das Jahr, den Monat und den Tag zu berechnen und den Rest der Berechnung zu überlassen. Wenn wir diesem Ansatz folgen , müssen wir auch feststellen, ob es sich um ein Schaltjahr handelt, also können wir genauso gut einfach berechnen, was die Frage erfordert.

#include<stdio.h>
int main()
{
	int n,hou,min,sec;
	scanf("%d",&n);
	n=n/1000;
	sec=n%60;
	min=n/60%60;
	hou=n/3600%24;
	printf("%02d:%02d:%02d",hou,min,sec);
}

Guess you like

Origin blog.csdn.net/kgb2333/article/details/134791591