UVa 1586 - Molar Mass - ACM/ICPC Seoul 2007 - C语言
2024-08-24 07:38:13
关键在于判断数字是两位数还是单位数,其他部分没有难度。
#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版) 刘汝佳 编著
最新文章
- 匈牙利算法 cogs 886. [USACO 4.2] 完美的牛栏
- BZOJ1798: [Ahoi2009]Seq 维护序列seq[线段树]
- SVN导出/导入、SVN备份/还原 【小白版】
- Test Tex
- 软件开发过程中的审查 (Review)
- POJ 3984 迷宫问题(BFS)
- 自动生成makefile的脚本
- 解决将龙邱oled库移植到野火工程里,oled汉字无法显示问题
- SAS-决策树模型
- 2.docker的网络模式
- LNMP安装201812012237
- 9、JPA-映射-双向多对多
- JTopo使用心得
- Ocelot——初识基于.Net Core的API网关
- python对oracle数据库的操作
- UVa 10118 免费糖果(记忆化搜索+哈希)
- leetcode-292-Nim Game(搬石子)
- hibernate3.3.2搭建log4j日志环境
- 护航SMB网络安全 应选择新一代防火墙
- static关键字的新用法
热门文章
- CGAffineTransform 视频旋转(转)
- 使用 jTessBoxEditor 生成 tesseract-orc 的字典
- Spring Boot 2.0 设置网站默认首页
- linux系统基础之--进程计划(基于centos7.4 1708)
- PredicateBuilder
- kubernetes理论基础#开始入坑啊!
- python学习笔记:第18天 面向对象04-反射
- vue.js使用axios
- 阿里云 Debian 9.2 安装 Java Web 环境
- javascript sorting/ v8 sorting