#include <stdio.h>

struct 병사 {
 double HP;
 int MP;
};

int main(void) {
 struct 병사 p[3];
 int i;
 double totalHP = 0.;
 int totalMP = 0;

 for(i=0; i<3; i++) {
  // p[0], p[1], p[2]
  printf("병사의 체력과 마나를 입력 : ");
  scanf("%lf %d", &p[i].HP, &p[i].MP);
 }

 for(i=0; i<3; i++)
 {
  totalHP += p[i].HP;
  totalMP += p[i].MP;
 }

 printf("병사들의 평균체력 : %lf, 평균마나 : %d\n", totalHP/3, totalMP/3);
 // total->HP 함수내부에서 선언된 total.HP

 return 0;

 

 

#include <stdio.h>

typedef struct {
 double HP;
 int MP;
} 병사;

int main(void) {
 병사 p[3];
 int i;
 병사 total;

 for(i=0; i<3; i++) {
  // p[0], p[1], p[2]
  printf("병사의 체력과 마나를 입력 : ");
  scanf("%lf %d", &p[i].HP, &p[i].MP);
 }

 for(i=0; i<3; i++)
 {
  total.HP += p[i].HP;
  total.MP += p[i].MP;
 }

 printf("병사들의 평균체력 : %lf, 평균마나 : %d\n", total.HP/3, total.MP/3);
 // total->HP 함수내부에서 선언된 total.HP

 return 0;

 

 

 #include <stdio.h>

typedef struct {
 double HP;
 int MP;
} 병사;

병사 average(병사 arr[3]);

int main(void) {
 병사 p[3];
 int i;
 병사 total;

 for(i=0; i<3; i++) {
  // p[0], p[1], p[2]
  printf("병사의 체력과 마나를 입력 : ");
  scanf("%lf %d", &p[i].HP, &p[i].MP);
 }

 total = average(p); // 함수내부의 total -> main의 total로 복사

 printf("병사들의 평균체력 : %lf, 평균마나 : %d\n", total.HP, total.MP);
 // total->HP 함수내부에서 선언된 total.HP

 return 0;
}

병사 average(병사 arr[3])
{
 int i;
 static 병사 total = {0.0, 0};
 for(i=0; i<3; i++)
 {
  total.HP += arr[i].HP;
  total.MP += arr[i].MP;
 }

 total.HP /= 3; // total.HP = total.HP / 3;
 total.MP /= 3;

 return total;
}

 

#include <stdio.h>

typedef struct {
 double HP;
 int MP;
} 병사;

병사* average(병사 *parr);

int main(void) {
 병사 p[3];
 int i;
 병사 *total;

 for(i=0; i<3; i++) {
  // p[0], p[1], p[2]
  printf("병사의 체력과 마나를 입력 : ");
  scanf("%lf %d", &p[i].HP, &p[i].MP);
 }

 total = average(p); // 함수내부의 total -> main의 total로 복사
 
 printf("병사들의 평균체력 : %lf, 평균마나 : %d\n", total->HP, total->MP);
 // total->HP 함수내부에서 선언된 total.HP
 
 return 0;
}

병사* average(병사 *parr)
{
 int i;
 static 병사 total = {0.0, 0};
 for(i=0; i<3; i++)
 {
  total.HP += parr[i].HP;
  total.MP += parr[i].MP;
 }

 total.HP /= 3; // total.HP = total.HP / 3;
 total.MP /= 3;

 return &total;

 

 

'프로그래밍언어 > C & CPP' 카테고리의 다른 글

야구게임  (0) 2014.12.06
가위바위보 게임  (0) 2014.11.22
포인터 연습  (0) 2014.11.15
실습 1  (1) 2014.11.08
템플릿 예제 max  (0) 2014.10.11

+ Recent posts