algorism

탄화수소 계산

풀스택 개발자 2020. 1. 15. 16:46

탄소(C)와 수소(H)로만 이루어진 화합물을 탄화수소라고 합니다.
탄소(C) 한 개의 질량은 12g, 수소(H) 한 개의 질량은 1g입니다.
에틸렌(C2H4)의 질량은 12*2+1*4=28g입니다.
메탄(CH4)의 질량은 12*1+1*4=16g입니다.
탄화수소식이 주어지면 해당 화합물의 질량을 구하는 프로그램을 작성하세요.


입력설명
첫 줄에 탄화수소식이 주어집니다. 식의 형태는 CaHb 형태이며 (1<=a, b<=100)이다.
단 a 나 b 가 1이면 숫자가 식에 입력되지 않는다. 예) CH4


출력설명
첫 줄에 탄화수소의 질량을 출력합니다.


입력예제 1
C2H4
출력예제 1
28

 

입력예제 2
CH4
출력예제 2
16

 

#include<iostream>
using namespace std;
//\0 = null
int main()
{
	int i = 0;
	int j = 0;
	int C = 0;
	int H = 0;
	int pos;
	char arr[10];
	cin >> arr;


	if (arr[1] == 'H')//C 즉 탄소갯수가 1개일때C다음 바로 H가 나왔을때를 말함
	{
		C = 1;
		pos = 1;
	}

	else
	{
		for (i = 1; arr[i]!='H'; i++)//H가 나올때까지 반복
		{
			C = C * 10 + (arr[i] - 48);//숫자 구하기
		}
		pos = i;//자리수 확인을 위해 
	}
	if (arr[pos + 1] == '\0')H = 1;//H다음 NULL값이면 H가 1개라는 뜻
	else
	{
		for (j = pos + 1; arr[j] != '\0'; j++)
		{
			H = H * 10 + (arr[j] - 48);
		}
	}
	cout << C * 12 + H;
}