fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h> // 乱数の種用
  4.  
  5. // モンスターの構造体
  6. typedef struct {
  7. char na[64]; // 名前
  8. int stts[6]; // ステータス(6個)
  9. } Monster;
  10.  
  11. // ランダムなモンスターを1体作って返す関数
  12. Monster creMonster(void){
  13. int i, k;
  14. Monster tmp;
  15. k = rand() % 8 + 4;
  16.  
  17. for (i = 0; i < k; i++) {
  18. tmp.na[i] = 'a' + rand() % 26;
  19. }
  20. tmp.na[k] = '\0';
  21.  
  22. for (i = 0; i < 6; i++) {
  23. tmp.stts[i] = rand() % 255 + 1;
  24. }
  25.  
  26. return tmp;
  27. }
  28.  
  29. void priMonster(Monster m){
  30. printf("%s : ", m.na);
  31. for (int i = 0; i < 6; i++) {
  32. printf("%3d ", m.stts[i]);
  33. }
  34. printf("\n");
  35. }
  36.  
  37. int main(void){
  38. srand((unsigned)time(NULL));
  39. int n, i;
  40. Monster *monsters;
  41.  
  42. scanf("%d", &n);
  43. monsters = (Monster *)malloc(sizeof(Monster) * n);
  44.  
  45. if (monsters == NULL) {
  46. printf("ERROR\n");
  47. return 0;
  48. }
  49. for (i = 0; i < n; i++) {
  50. monsters[i] = creMonster();
  51. printf("No.%d ", i + 1);
  52. priMonster(monsters[i]);
  53. }
  54. free(monsters);
  55.  
  56. return 0;
  57. }
  58.  
Success #stdin #stdout 0s 5288KB
stdin
6
stdout
No.1 kbyirm : 122 198 137  54  16  34 
No.2 mdjnmix : 127 195  22 176 170  33 
No.3 capymswum : 224  15 103 233  68 118 
No.4 taxdnl : 246 252  58 185  18 106 
No.5 wvwynulfqh :  75  68 254  49  45 193 
No.6 jojirytgngu : 185 132 230 234 184  42