fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct {
  6. char name[20];
  7. int hp;
  8. } Monster;
  9.  
  10. // モンスター生成関数
  11. Monster creMonster(char *name, int hp){
  12. Monster m;
  13. strcpy(m.name, name);
  14. m.hp = hp;
  15. return m;
  16. }
  17.  
  18. int main(void){
  19. int n, i;
  20. Monster *monsters;
  21.  
  22. scanf("%d", &n);
  23.  
  24. // ★ここが課題の本質
  25. monsters = (Monster *)malloc(sizeof(Monster) * n);
  26.  
  27. // モンスターを作る
  28. for(i = 0; i < n; i++){
  29. char name[20];
  30. int hp;
  31. scanf("%s %d", name, &hp);
  32. monsters[i] = creMonster(name, hp);
  33. }
  34.  
  35. // 表示
  36. for(i = 0; i < n; i++){
  37. printf("%s %d\n", monsters[i].name, monsters[i].hp);
  38. }
  39.  
  40. // メモリ解放
  41. free(monsters);
  42.  
  43. return 0;
  44. }
Success #stdin #stdout 0s 5316KB
stdin
5
stdout
 0
 0
 0
 0
 0