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. printf("%12s : ",m.na);
  23. for(int i=0;i<6;i++)
  24. printf("%3d ",m.stts[i]);
  25. printf("\n");
  26. }
  27.  
  28. int main(){
  29. srand((unsigned)time(NULL)); //乱数を生成する時のおまじない
  30. int i, n;
  31. Monster *monsters;
  32. scanf("%d",&n);
  33. //ここに1行で monstersにn体のモンスターの領域を確保する
  34. monsters = (Monster*)malloc(sizeof(Monster)*n);
  35.  
  36.  
  37. //以下はいじらなくてOK
  38. if(monsters == NULL){
  39. printf("ERROR\n");
  40. return 0;
  41. }
  42. for(i=0;i<n;i++){
  43. monsters[i] = creMonster();
  44. printf("%03d ",i+1);
  45. priMonster(monsters[i]);
  46. }
  47. free(monsters);
  48. return 0;
  49. }
Success #stdin #stdout 0s 5280KB
stdin
20
stdout
001        wnicmp  : 207   1 101  42 253 234 
002      qahnsccu  :  26  19  30  50 108  10 
003        xcjghw  : 166 170 158  11  83 155 
004       cmflzxn  : 212 180 160 102  82  82 
005        wexznf  : 202 151  89 243  53  99 
006     dojpvuqtj  : 209 223  31  56 176 112 
007      tmtubacn  : 125 128 227  96 198  51 
008    xhlrzgbutk  : 131  28 171 139 166 127 
009          zufb  : 112  58  78 210 153 147 
010     kazyuaexu  :  71 163  22  99  78 160 
011    qfrmkvtvnj  : 173  60  79 123  41 123 
012          hove  :  33 153 207 181 251 156 
013         tplnb  : 253 208 158 146 120 105 
014       ugyjvqq  : 141  38 161  45  63 239 
015        kyxgpi  : 230 248 218  54 150 236 
016      tiubidwa  :  91 113  52 123  29 114 
017        kofjwu  : 196 204 253  30   2  20 
018    exjyztcxty  : 106  11 254 135 124 232 
019     jabhwtzmu  : 145 204 247 191 220  44 
020       xcauyac  : 248  76 172 117 180 176