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;
}