题目链接:https://odzkskevi.qnssl.com/67439d42131b807256ad26321328160a?v=1510491913
水题
My Ugly Code
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
using namespace std;
int n;
char s[120];
int main(){
/*freopen("input.txt","r",stdin);*/
scanf("%d",&n);
while(n--){
scanf("%s",s);
int len=strlen(s);
double ans=0.0;
for(int i=0;i<len;i++){
if(s[i]=='C'){
int num=0;
while(s[i+1] >= '0' && s[i+1] <= '9'){
num=num*10+s[++i]-'0';
}
ans+=12.01*(num > 0 ? num:1);
}
if(s[i]=='H'){
int num=0;
while(s[i+1] >= '0' && s[i+1] <= '9'){
num=num*10+s[++i]-'0';
}
ans+=1.008*(num > 0 ? num:1);
}
if(s[i]=='O'){
int num=0;
while(s[i+1] >= '0' && s[i+1] <= '9'){
num=num*10+s[++i]-'0';
}
ans+=16.00*(num > 0 ? num:1);
}
if(s[i]=='N'){
int num=0;
while(s[i+1] >= '0' && s[i+1] <= '9'){
num=num*10+s[++i]-'0';
}
ans+=14.01*(num > 0 ? num:1);
}
}
printf("%.3lf\n",ans);
}
return 0;
}