結果

問題 No.138 化石のバージョン
ユーザー kachipan
提出日時 2023-07-03 14:16:49
言語 C
(gcc 13.3.0)
結果
AC  
実行時間 1 ms / 5,000 ms
コード長 1,381 bytes
コンパイル時間 212 ms
コンパイル使用メモリ 31,616 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-07-17 11:50:04
合計ジャッジ時間 1,360 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 33
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c: In function 'ParseNumArray':
main.c:81:42: warning: 'ToInt' accessing 10 bytes in a region of size 4 [-Wstringop-overflow=]
   81 |                         intVer[intItr] = ToInt(buff);
      |                                          ^~~~~~~~~~~
main.c:81:42: note: referencing argument 1 of type 'char[10]'
main.c:44:5: note: in a call to function 'ToInt'
   44 | int ToInt(char str[10])
      |     ^~~~~

ソースコード

diff #
プレゼンテーションモードにする

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <math.h>
#include <string.h>
int ToInt(char str[10]);
void Init(char* init);
void ParseNumArray(char* ver, int* intVer);
int main()
{
char fossilVer[12] = "48.44.73";
char assessVer[12] = "67.31.19";
int fossil[3] = { 0 };
int assess[3] = { 0 };
int chrItr = 0;
int intItr = 0;
char buff[4] = "";
scanf("%s", fossilVer);
scanf("%s", assessVer);
ParseNumArray(fossilVer, fossil);
ParseNumArray(assessVer, assess);
for (int i = 0;i < 3;i++)
{
if (fossil[i] > assess[i])
{
printf("YES\n");
return 0;
}
else if (fossil[i] < assess[i])
{
printf("NO\n");
return 0;
}
}
printf("YES\n");
return 0;
}
int ToInt(char str[10])
{
int re_num = 0;
for (int i = 0;str[i] != '\0';i++)
{
int num = str[i] - 48;
if (num > 9 || num < 0)
{
return -1;
}
re_num = re_num * 10;
re_num += num;
}
return re_num;
}
void Init(char* init)
{
for (int i = 0;init[i] != '\0';i++)
{
init[i] = '\0';
}
return;
}
void ParseNumArray(char* ver, int* intVer)
{
int chrItr = 0;
int intItr = 0;
char buff[4] = "";
for (int i = 0;;i++)
{
if (ver[i] == '.' || ver[i] == '\0')
{
intVer[intItr] = ToInt(buff);
intItr++;
chrItr = 0;
Init(buff);
if (ver[i] == '\0')
{
break;
}
continue;
}
buff[chrItr] = ver[i];
chrItr++;
}
return;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0