당신은 FPS게임 개발자이다.

이 게임에서 수류탄의 특징이 수류탄 터진 곳으로 부터 반경 n미터 까지 데미지가 120/(n-2) 정도라 한다.


이 게임 중 수류탄이 터졌는데 그 위치로 부터 3미터 거리에 있던 A라는 유저와

1미터 거리에 있는 B유저

마지막으로 5미터 거리에 있는 C유저가 있다


bomb.jpg


폭파 전 이 세 유저의 HP는 A, B, C 순서대로 100, 60, 55 라고 한다.

폭파 후 이 세 유저 각각의 데미지량과 HP를 출력하는 프로그램을 짜보세요.




  • ?
    BlackBindy 2016.03.16 19:28
    /*
    void main() {
    	int a=3, b=1, c=5;
    	int a1, b1, c1, a2, b2, c2;
    	a2 = (120 / (a - 2));
    	b2 = (120 / (b - 2));
    	c2 = (120 / (c - 2));
    	a1 = (float)(100 - (120 / (a - 2)));
    	b1 = (float)(60 - (120 / (b - 2)));
    	c1 = (float)(55 - (120 / (c - 2)));
    	printf("A유저 대미지와 hp는 %d, %d 입니다.\nB유저 대미지와 hp는 %d, %d 입니다.\nC유저 대미지와 HP는 %d, %d입니다.", a2,a1,b2, b1,c2, c1);
    
    
    }
    */
  • profile
    Raptor,Jung 2016.03.17 13:05
    OK!!!
  • ?
    손별명 2016.03.17 15:51
    #include<stdio.h>
    int main(){
     printf("A : %f B : %f C : %f", 100 - damage(3), 60 - damage(1), 55 - damage(5));
     return 0;
    }
    double damage(double miter){
     return (double)(120)/(miter - 2);
    }
  • profile
    Raptor,Jung 2016.03.17 15:52
    OK!!!
  • ?
    설계실 2016.03.17 15:55
    int A_HP_now = 100;
    	int B_HP_now = 60;
    	int C_HP_now = 55;
    	int A_damage = (int)120/(3-2);
    	int B_damage = (int)120/(1-2);
    	int C_damage = (int)120/(5-2);
    	int A_HP_after = (int)(A_HP_now - A_damage);
    	int B_HP_after = (int)(B_HP_now - B_damage);
    	int C_HP_after = (int)(C_HP_now - C_damage);
    
    
    	printf("A의 데미지량은 %d이다.\n",A_damage);
    	printf("B의 데미지량은 %d이다.\n",B_damage);
    	printf("C의 데미지량은 %d이다.\n",C_damage);
    
    
    	printf("A의 현재 체력은 %d이다.\n",A_HP_after);
    	printf("B의 현재 체력은 %d이다.\n",B_HP_after);
    	printf("C의 현재 체력은 %d이다.\n",C_HP_after);
    
  • profile
    Raptor,Jung 2016.03.17 16:26
    OK!!!
  • profile
    Raptor,Jung 2016.03.17 17:50
    OK!!!
  • ?
    Basement 2016.03.18 00:32
    #include<stdio.h>
    
    void main(){
    
    	//1.
    	int iHpA = 100, iHpB = 60, iHpC = 55; // 유저의 체력
    	int iRadiusA = 3, iRadiusB = 1, iRadiusC = 5; // 수류탄터진 유저의 반경
    	int iDamageA = 120 / (iRadiusA - 2) > 0 ? 120 / (iRadiusA - 2) : -(120 / (iRadiusA - 2));
    	int iDamageB = 120 / (iRadiusB - 2) > 0 ? 120 / (iRadiusB - 2) : -(120 / (iRadiusB - 2));
    	int iDamageC = 120 / (iRadiusC - 2) > 0 ? 120 / (iRadiusC - 2) : -(120 / (iRadiusC - 2));
    
    	printf("<< 북한 핵실험 피해 현황 >>\n");
    	printf("|  이름  |    충격데미지    |    Hp현황    |\n");
    	printf("|    A   |        %4d      |     %4d     |\n", iDamageA, iHpA - iDamageA);
    	printf("|    B   |        %4d      |     %4d     |\n", iDamageB, iHpB - iDamageB);
    	printf("|    C   |        %4d      |     %4d     |\n", iDamageC, iHpC - iDamageC);
    }
  • profile
    Raptor,Jung 2016.03.18 13:35
    OK!!!
  • profile
    꼬지 2016.03.19 14:54
    #include<stdio.h>
    
    void main()
    {
    	int UserA_D = 3, UserB_D = 1, UserC_D = 5;
    	int Damege_A, Damege_B, Damege_C;
    	int A_HP = 100, B_HP = 60, C_HP = 55;
    	int AfterA_HP, AfterB_HP, AfterC_HP;
    
    	Damege_A = 120 / (UserA_D - 2), AfterA_HP = A_HP - Damege_A;
    	Damege_B = 120 / (UserB_D - 2), AfterB_HP = B_HP - Damege_B;
    	Damege_C = 120 / (UserC_D - 2), AfterC_HP = C_HP - Damege_C;
    
    	printf("A가 받는 데미지 : %d,\n데미지 후 HP : %d \n\n", Damege_A, AfterA_HP);
    	printf("B가 받는 데미지 : %d,\n데미지 후 HP : %d \n\n", Damege_B, AfterB_HP);
    	printf("C가 받는 데미지 : %d,\n데미지 후 HP : %d \n\n", Damege_C, AfterC_HP);	
    }
  • profile
    Raptor,Jung 2016.03.21 11:23
    OK!!!
  • ?
    silverash 2016.03.26 21:45
    #include <stdio.h>
    
    int main()
    {
    	int A;
    	int B;
    	int C;
    	A = (int)120 / (3 - 2);
    	B = (int)120 / (1 - 2);
    	C = (int)120 / (5 - 2);
    	printf("A의 데미지량: %d, 현재Hp: %d \n", A, 100 - A);
    	printf("B의 데미지량: %d, 현재Hp: %d \n", B, 60 - B);
    	printf("C의 데미지량: %d, 현재Hp: %d \n", C, 55 - C);
    	return 0;
    
    }
  • profile
    Raptor,Jung 2016.03.28 11:12
    OK!!!!
  • profile
    꼬지 2016.04.18 17:20
    #include<stdio.h>
    
    void main()
    {
    int A_Dis = 3, B_Dis = 1, C_Dis = 5;
        int A_HP = 100, B_HP = 60, C_HP = 55;
    	int A_Dam = 120 / (A_Dis - 2), B_Dam = 120 / (B_Dis - 2), C_Dam = 120 / (C_Dis - 2);
        int FA_HP = A_HP - A_Dam, FB_HP = B_HP + B_Dam, FC_HP = C_HP - C_Dam;
    
        FA_HP = A_HP - A_Dam <= 0 ? printf("A : 데미지 %d!, 체력이 0이 되었습니다.\n", A_Dam) : printf("A : 데미지 %d!, 체력이 %d남았습니다.\n", A_Dam, FA_HP);
    	FB_HP = B_HP + B_Dam <= 0 ? printf("B : 데미지 %d!, 체력이 0이 되었습니다.\n", -B_Dam) : printf("B : 데미지 %d!, 체력이 %d남았습니다.\n", -B_Dam, FB_HP);
    	FC_HP = C_HP - C_Dam <= 0 ? printf("C : 데미지 %d!, 체력이 0이 되었습니다.\n", C_Dam) : printf("C : 데미지 %d!, 체력이 %d남았습니다.\n", C_Dam, FC_HP);
        
        
    }
  • profile
    Raptor,Jung 2016.04.18 17:28
    OK!!!!
  • profile
    kmy6976 2016.04.19 15:52
    void main()
    {
    	int A_HP = 100;
    	int B_HP = 60;
    	int C_HP = 55;
    
    	int A_Damge = 120 / (3 - 2);
    	int B_Damge = 120 / (1 - 2);
    	int C_Damge = 120 / (5 - 2);
    
    	A_HP = A_HP - A_Damge;
    	B_HP = B_HP - B_Damge;
    	C_HP = C_HP - C_Damge;
    
    	printf("A가 입은 데미지: %d\tHP: %d\n", A_Damge, A_HP);
    	printf("B가 입은 데미지: %d\tHP: %d\n", B_Damge, B_HP);
    	printf("C가 입은 데미지: %d\tHP: %d\n", C_Damge, C_HP);
    }
  • profile
    Raptor,Jung 2016.04.19 15:54
    수학계산 하시느라 수고 많았아어요 ^^
    OK!!!
  • profile
    Kazel 2016.04.21 07:22
    #include<stdio.h>
     
    void main()
    {
    	int disA=3, disB=1, disC=5;
    
    	int Adamage = 120 / (disA-2);
    	int Bdamage = 120 / (disB-2);
    	int Cdamage = 120 / (disC-2);
    
    	int Ahp = 100, Bhp = 60, Chp = 55;
    
    	printf("데미지 -> A = %d, B = %d, C = %d\n", Adamage, Bdamage, Cdamage);
    	printf("체력 -> A = %d, B = %d, C = %d\n", Ahp - Adamage, Bhp - Bdamage, Chp - Cdamage);
    
    
    }
    

  • profile
    Kazel 2016.04.24 04:03
    #include<stdio.h>
      
    void main()
    {
        int disA=3, disB=1, disC=5;
    
    	int Adamage = 120 / (disA-2); 
    	int Bdamage = 120 / (disB-2);  
    	int Cdamage = 120 / (disC-2);
    
    	if (Adamage < 0)
    		Adamage *= -1;
    	if (Bdamage < 0)
    		Bdamage *= -1;
    	if (Cdamage < 0)
    		Cdamage *= -1;
    
        int Ahp = 100, Bhp = 60, Chp = 55;
     
        printf("데미지 -> A = %d, B = %d, C = %d\n", Adamage, Bdamage, Cdamage);
        printf("체력 -> A = %d, B = %d, C = %d\n", Ahp - Adamage, Bhp - Bdamage, Chp - Cdamage);
     
     
    }
  • profile
    Kazel 2016.04.24 04:05
    b 데미지가 음수로 나오길래 데미지 음수로 나오면 양으로 바꾸는 걸 짜봤는데, 체력이 0 밑으로 내려갈 때 0으로 처리하려면 if 문을 또 달아줘야 하나요?