关键在于判断数字是两位数还是单位数,其他部分没有难度。

#include"stdio.h"
#include"string.h"
#include"ctype.h"
#define maxn 80 int main()
{
double a,b,sum;
int T,m,i;
char s[maxn]; scanf("%d",&T);
while(T--)
{
scanf("%s",s);
m=strlen(s);
a=0;
sum=0;
for(i=0; i<m; i++)
{
if(isalpha(s[i])) //判断是否字母
{
sum=sum+a*b;
b=1;
if((s[i])=='C') a=12.01;
else if((s[i])=='H') a=1.008;
else if((s[i])=='O') a=16.00;
else if((s[i])=='N') a=14.01;
}
else if(isdigit(s[i])) //判断是否数字
{
if(isdigit(s[i-1])) //如果前一位也是数字
b=b*10+s[i]-'0';
else //如果前一位不是数字
b=s[i]-'0';
}
}
printf("%.3f\n",sum=sum+a*b);
}
return 0;
}

  

参考书目:算法竞赛入门经典(第2版) 刘汝佳 编著

最新文章

  1. 匈牙利算法 cogs 886. [USACO 4.2] 完美的牛栏
  2. BZOJ1798: [Ahoi2009]Seq 维护序列seq[线段树]
  3. SVN导出/导入、SVN备份/还原 【小白版】
  4. Test Tex
  5. 软件开发过程中的审查 (Review)
  6. POJ 3984 迷宫问题(BFS)
  7. 自动生成makefile的脚本
  8. 解决将龙邱oled库移植到野火工程里,oled汉字无法显示问题
  9. SAS-决策树模型
  10. 2.docker的网络模式
  11. LNMP安装201812012237
  12. 9、JPA-映射-双向多对多
  13. JTopo使用心得
  14. Ocelot——初识基于.Net Core的API网关
  15. python对oracle数据库的操作
  16. UVa 10118 免费糖果(记忆化搜索+哈希)
  17. leetcode-292-Nim Game(搬石子)
  18. hibernate3.3.2搭建log4j日志环境
  19. 护航SMB网络安全 应选择新一代防火墙
  20. static关键字的新用法

热门文章

  1. CGAffineTransform 视频旋转(转)
  2. 使用 jTessBoxEditor 生成 tesseract-orc 的字典
  3. Spring Boot 2.0 设置网站默认首页
  4. linux系统基础之--进程计划(基于centos7.4 1708)
  5. PredicateBuilder
  6. kubernetes理论基础#开始入坑啊!
  7. python学习笔记:第18天 面向对象04-反射
  8. vue.js使用axios
  9. 阿里云 Debian 9.2 安装 Java Web 环境
  10. javascript sorting/ v8 sorting