fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4.  
  5. typedef struct {
  6. char na[64];
  7. int stts[6];
  8. } Monster;
  9.  
  10. Monster creMonster(){
  11. int i,k;
  12. Monster tmp;
  13. k = rand()%8+4;
  14. int a = 'a' + rand()%26;
  15. for(i=0;i<k;i++) tmp.na[i] = 'a' + rand()%26;
  16. tmp.na[k] = '\0';
  17. for(i=0;i<6;i++) tmp.stts[i] = rand()%255+1;
  18. return tmp;
  19. }
  20.  
  21. void priMonster(Monster m){
  22. const char* status_names[] = {
  23. "攻撃力", "防御力", "素早さ", "体力", "知力", "幸運"
  24. };
  25.  
  26. printf("名前:%12s \nステータス : \n", m.na);
  27.  
  28. for(int i = 0; i < 6; i++) {
  29. printf("%s:%3d\n", status_names[i], m.stts[i]);
  30. }
  31. }
  32.  
  33. int main(){
  34. srand((unsigned)time(NULL));
  35. int i, n;
  36. printf("生成するモンスターの数を入力してください\n");
  37. scanf("%d", &n);
  38.  
  39. printf("生成するモンスターの数は %d です。\n", n);
  40.  
  41. Monster *monsters;
  42. monsters = (Monster *)malloc(sizeof(Monster)*n);
  43.  
  44. if(monsters == NULL){
  45. printf("ERROR\n");
  46. return 0;
  47. }
  48.  
  49. for(i = 0; i < n; i++){
  50. monsters[i] = creMonster();
  51. printf("%03d ", i + 1);
  52. priMonster(monsters[i]);
  53. }
  54.  
  55. free(monsters);
  56. return 0;
  57. }
  58.  
Success #stdin #stdout 0.01s 5284KB
stdin
6
stdout
生成するモンスターの数を入力してください
生成するモンスターの数は 6 です。
001  名前:    crguenwe 
ステータス : 
攻撃力: 58
防御力:105
素早さ: 30
体力:197
知力: 34
幸運:120
002  名前:      zgnfcq 
ステータス : 
攻撃力:113
防御力: 24
素早さ:145
体力:202
知力:245
幸運: 11
003  名前:  ajdifhwbnb 
ステータス : 
攻撃力:117
防御力: 24
素早さ:240
体力:150
知力:143
幸運:175
004  名前:   qausqpmam 
ステータス : 
攻撃力:149
防御力:238
素早さ:216
体力:164
知力:215
幸運:179
005  名前:        ivol 
ステータス : 
攻撃力: 23
防御力:248
素早さ:174
体力: 46
知力:232
幸運:196
006  名前:    urtunoke 
ステータス : 
攻撃力: 30
防御力: 32
素早さ:195
体力:179
知力: 14
幸運:156