fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <time.h>
  5.  
  6. typedef struct{
  7. char name[20];
  8. int hp;
  9. int attack;
  10. int defense;
  11. }Monster;
  12.  
  13. void generateRandomName(char*name,int length) {
  14. static const char alphabet[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  15. for(int i=0;i<length;i++) {
  16. name[i]=alphabet[rand()%(sizeof(alphabet)-1)];
  17. }
  18. name[length]='\0';
  19. }
  20.  
  21. Monster creMonster() {
  22. Monster monster;
  23. generateRandomName(monster.name,10);
  24. monster.hp=rand()%100+1;
  25. monster.attack=rand()%50+1;
  26. monster.defense=rand()%50+1;
  27. return monster;
  28. }
  29.  
  30. int main(){
  31. int n;
  32. scanf("%d",&n);
  33. Monster*monsters=(Monster*)malloc(n*sizeof(Monster));
  34. srand(time(NULL));
  35. for(int i=0;i<n;i++){
  36. monsters[i]=creMonster();
  37. }
  38. printf("生成されたモンスター:\n");
  39. for (int i=0;i<n;i++){
  40. printf("モンスター%d:名前=%s,HP=%d,攻撃力=%d,防御力=%d\n",i+1,monsters[i].name,monsters[i].hp,monsters[i].attack,monsters[i].defense);
  41. }
  42. free(monsters);
  43.  
  44. return 0;
  45. }
  46.  
Success #stdin #stdout 0.01s 5280KB
stdin
3
stdout
生成されたモンスター:
モンスター1:名前=DRRVLQHHYR,HP=48,攻撃力=46,防御力=13
モンスター2:名前=ZUSTQMYZQQ,HP=98,攻撃力=32,防御力=31
モンスター3:名前=SZKJZNCSKP,HP=64,攻撃力=21,防御力=30