不知道这种题目的难度系数,总觉得是一道很水的入门题,但是做起来,还是觉得异常吃力啊。。。
”我不知道这样的日子何时是个尽头。“————先生
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
bool issupper(char a);
char a[85];
int T;
cin>>T;
while(T--)
{
double Mass=0;
cin>>a;
int n=strlen(a);
for(int i=0;i<n;i++)
{
int j=0,k,m=0;
for(k=i+1;!isupper(a[k])&&k<n;k++) //k<n注意限定条件
{
j=j*10+a[k]-48;
m++;
}
if(j==0) j=1;
if(a[i]=='C') Mass+=12.01*j;
else if(a[i]=='N') Mass+=14.01*j;
else if(a[i]=='O') Mass+=16.00*j;
else if(a[i]=='H') Mass+=1.008*j;
i=i+m;
}
printf("%.3f\n",Mass);
}
return 0;
}
bool issupper(char a) //判断是否为大写字母
{
if('A'<=a&&a<='Z')
return 1;
}