結果

問題 No.652 E869120 and TimeZone
ユーザー ohreitetsuohreitetsu
提出日時 2018-03-24 18:49:03
言語 C++11
(gcc 13.3.0)
結果
AC  
実行時間 2 ms / 1,000 ms
コード長 695 bytes
コンパイル時間 386 ms
コンパイル使用メモリ 55,988 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-06-11 12:24:39
合計ジャッジ時間 1,225 ms
ジャッジサーバーID
(参考情報)
judge3 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 5
other AC * 30
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main(int, char**)’:
main.cpp:11:32: warning: format ‘%s’ expects argument of type ‘char*’, but argument 5 has type ‘char (*)[10]’ [-Wformat=]
   11 |         scanf("%02d %02d UTC%c%s",&h,&m,&ch,&UTC);
      |                               ~^            ~~~~
      |                                |            |
      |                                char*        char (*)[10]
main.cpp:11:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   11 |         scanf("%02d %02d UTC%c%s",&h,&m,&ch,&UTC);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

ソースコード

diff #

#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int main(int argc, char* argv[])
{
	char T[100];
	int h,m;
	char ch;
	char UTC[10];
	scanf("%02d %02d UTC%c%s",&h,&m,&ch,&UTC);
	float utc;
	int utc_h,utc_m;
	char *p=strchr(UTC,'.');
	if (p){
		*p='\0';
		utc_h=atoi(UTC);
		p++;
		utc_m=atoi(p);
	}else{
		utc_h=atoi(UTC);
		utc_m=0;
	}
	utc_m*=60;
	utc_m/=10;
	if (ch=='-'){
		utc_h=-utc_h;
		utc_m=-utc_m;
	}
	int H=h+(utc_h-9);
	while (H>24){
		H-=24;
	}
	while (H<0){
		H+=24;
	}
	int M=m+(utc_m-0);
	while (M>=60){
		M-=60;
		H++;
	}
	while (M<0){
		M+=60;
		H--;
	}
	while (H>=24){
		H-=24;
	}
	while (H<0){
		H+=24;
	}
	printf("%02d:%02d",H,M);
	return 0;
}
0