课后题--------求分子量-----Molar mass------
2016-01-28 08:50
190 查看
简单的化学式 求分子量问题 下面附上 代码和解析.
#include<stdio.h> #include<algorithm> #include<string.h> #include<math.h> using namespace std ; int main() { double l,m,n,t,sum,w; int i,q; char a[200]; scanf("%lf",&t); while(t--) { w=m=0; scanf("%s",a); l=strlen(a); for(sum=i=0;i<l;i++) { q=n=0; if(!(a[i]-'0'>=0&&a[i]-'0'<=9)) //当 这次不是数字 越界的时候 也不是数字哦. { if(a[i]=='C') m=12.01; else if(a[i]=='H') m=1.008; else if(a[i]=='O') m=16; else if(a[i]='N') m=14.01; n=1; //用于处理 当这个化学元素没有后缀时的情况 } if(a[i+1]-'0'>=0&&a[i+1]-'0'<=9) //有后缀时. { i++; n=0; while(a[i]-'0'>=0&&a[i]-'0'<=9) { n=n*pow(10,q)+(a[i]-'0'); q++; if(!(a[i+1]-'0'>=0&&a[i+1]-'0'<=9)) break; i++; } } sum=sum+m*n; } printf("%.3lf\n",sum); } return 0; }
相关文章推荐
- Animation动画详解(七)——ObjectAnimator基本使用
- 实例讲解分布式缓存软件Memcached的Java客户端使用
- JavaScript变量类型
- JavaScript变量
- 基于javascript实现全国省市二级联动下拉选择菜单
- HDOJ 1096 A+B for Input-Output Practice (VIII)
- Android智能手机屏蔽电话与屏蔽安装软件功能
- CentOS 7下MySQL服务启动失败的解决思路
- MyCat 学习笔记 第九篇.数据分片 之 数值分布
- CLRS第十三章思考题
- H5小内容(三)
- 被解放的姜戈03 所谓伊人
- qt 静态成员函数
- win10 build 11102突变Build 14251到底怎么回事?
- JS实现动态生成表格并提交表格数据向后端
- Linux 基金会引发巨大争议,它到底是企业的还是草根的?
- Spring MVC +Mybatis + Maven 配置之Transaction配置
- 将ImageView中的图片保存到本地相冊
- C++ 读取INI文件
- ElasticSearch 2 (1) - Getting Start