#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct {
char name[20];
int hp;
} Monster;
// モンスター生成関数
Monster creMonster(char *name, int hp){
Monster m;
m.hp = hp;
return m;
}
int main(void){
int n, i;
Monster *monsters;
// ★ここが課題の本質
monsters
= (Monster
*)malloc(sizeof(Monster
) * n
);
// モンスターを作る
for(i = 0; i < n; i++){
char name[20];
int hp;
scanf("%s %d", name
, &hp
); monsters[i] = creMonster(name, hp);
}
// 表示
for(i = 0; i < n; i++){
printf("%s %d\n", monsters
[i
].
name, monsters
[i
].
hp); }
// メモリ解放
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKdHlwZWRlZiBzdHJ1Y3QgewogICAgY2hhciBuYW1lWzIwXTsKICAgIGludCBocDsKfSBNb25zdGVyOwoKLy8g44Oi44Oz44K544K/44O855Sf5oiQ6Zai5pWwCk1vbnN0ZXIgY3JlTW9uc3RlcihjaGFyICpuYW1lLCBpbnQgaHApewogICAgTW9uc3RlciBtOwogICAgc3RyY3B5KG0ubmFtZSwgbmFtZSk7CiAgICBtLmhwID0gaHA7CiAgICByZXR1cm4gbTsKfQoKaW50IG1haW4odm9pZCl7CiAgICBpbnQgbiwgaTsKICAgIE1vbnN0ZXIgKm1vbnN0ZXJzOwoKICAgIHNjYW5mKCIlZCIsICZuKTsKCiAgICAvLyDimIXjgZPjgZPjgYzoqrLpoYzjga7mnKzos6oKICAgIG1vbnN0ZXJzID0gKE1vbnN0ZXIgKiltYWxsb2Moc2l6ZW9mKE1vbnN0ZXIpICogbik7CgogICAgLy8g44Oi44Oz44K544K/44O844KS5L2c44KLCiAgICBmb3IoaSA9IDA7IGkgPCBuOyBpKyspewogICAgICAgIGNoYXIgbmFtZVsyMF07CiAgICAgICAgaW50IGhwOwogICAgICAgIHNjYW5mKCIlcyAlZCIsIG5hbWUsICZocCk7CiAgICAgICAgbW9uc3RlcnNbaV0gPSBjcmVNb25zdGVyKG5hbWUsIGhwKTsKICAgIH0KCiAgICAvLyDooajnpLoKICAgIGZvcihpID0gMDsgaSA8IG47IGkrKyl7CiAgICAgICAgcHJpbnRmKCIlcyAlZFxuIiwgbW9uc3RlcnNbaV0ubmFtZSwgbW9uc3RlcnNbaV0uaHApOwogICAgfQoKICAgIC8vIOODoeODouODquino+aUvgogICAgZnJlZShtb25zdGVycyk7CgogICAgcmV0dXJuIDA7Cn0=