博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa 1225 分子量 (Molar Mass)ACM
阅读量:4217 次
发布时间:2019-05-26

本文共 849 字,大约阅读时间需要 2 分钟。

             题目、 给出一种物质的分子式, 求分子量.本题只含4种原子, C H O N, 原子量分别为 12.01、 1.008、 16.00、  14.01. 例如 C6H5OH 的分子量为94.108 g/mol。

实现:

#include
#include
int main() { char str[100]; int t; scanf("%d",&t); double sum = 0.0; double M = 0; int cnt; while(t--){ scanf("%s",str); for(int i = 0; i < strlen(str); i++ ){ int n = 0; if(str[i] <= '9' && str[i] >= '0')//每次从原子(非数字)进入 然后处理完原子后面的所有数字 所以 每次跳过处理完的数字 continue; if(str[i] == 'C') M = 12.01; if(str[i] == 'H') M = 1.008; if(str[i] == 'O') M = 16.00; if(str[i] == 'N') M = 14.01; cnt = i+1; while(str[cnt] >= '0' && str[cnt] <= '9'){//处理分子数大于1位的情况 例如C123H10N55 n = n * 10 + str[cnt]-'0'; //利用多项式 cnt++; } if(str[i+1] > '9' || str[i+1] < '0')//单个原子数 大于 1 个 时 sum += M; else sum += M*n;//单独一个原子只有1个 如 CHOH } printf("%.3f",sum); } return 0; }

转载地址:http://xaimi.baihongyu.com/

你可能感兴趣的文章
cocos2dx 音频模块分析(5): 音效部分
查看>>
19、Cocos2dx 3.0游戏开发找小三之Action:流动的水没有形状,漂流的风找不到踪迹、、、
查看>>
cocos2.X版本lua端使用定时器的方法
查看>>
lua math.fmod使用注意小数问题
查看>>
lua 时间转化
查看>>
lua学习笔记之五(Lua中的数学库)
查看>>
dos: tree命令生成目录结构
查看>>
Managing Projects from the Command Line(android官网文档)
查看>>
Android项目自动生成build.xml,用Ant打包
查看>>
CCLayer注册lua回调函数setTouchPriority失效
查看>>
cocos2dx左下角三行数值意义
查看>>
LUA modue require package 区别
查看>>
package.loaded
查看>>
cocoStudio: Button设置锚点问题
查看>>
vld 使用
查看>>
MAC下安装多版本JDK和切换几种方式
查看>>
java.util.concurrent详解
查看>>
java事务大总结(一) 先理解数据库的事务以mysql为例
查看>>
java事务大总结(二) 理解JDBC事务的工作机制
查看>>
java事务大总结(三) 理解学习 JTA(Java Transaction API)
查看>>