题意:计算相对分子质量。

题解:首先将所有字符串存到字符数组里面,再进行遍历,若是字母则记录下该字母的相对原子质量,若是数字,则将其转化为整型,再与前面的字母的相对原子质量相乘,若字母与字母相接则直接加上前一字母的相对原子质量,逐个累加得最终结果。

#include <stdio.h>int numb(char str[][80],int i,int j)
{int sum = 0;int flag = 1;while(flag){if(str[i][j] < '0' || str[i][j] > '9'){return sum;}if(str[i][j] > '0' && str[i][j] < '9'){sum = sum * 10 + str[i][j] - '0';j++;}}
}void ji_suan(char str[][80],int n)
{double k;int i,j;double sum;for(i = 0;i < n;i++){sum = 0;for(j = 0;str[i][j] != '\0';j++){if(str[i][j] == 'C'){k = 12.01;}if(str[i][j] == 'H'){k = 1.008;}if(str[i][j] == 'O'){k = 16.00;}if(str[i][j] == 'N'){k = 14.01;}if(str[i][j] < '0' || str[i][j] > '9'){if(numb(str,i,j + 1) == 0){sum = sum + k;}if(numb(str,i,j + 1) != 0){sum = sum + k * numb(str,i,j + 1);}}}printf("%.3lf\n",sum);}}int main()
{char str[100][80];int i;int n;scanf("%d",&n);for(i = 0;i < n;i++){scanf("%s",str[i]);}ji_suan(str,n);return 0;
}

D - Molar mass相关推荐

  1. UVA1586 ​​​​​​​ Molar mass

    Molar mass UVA - 1586 题目传送门 题目大意:给你一个只包含C,H,O,N分子式,其中C,H,O,N的原子量分别为:12.01,1.008,16.00,14.01,求其分子量 AC ...

  2. UVa 1586 Molar mass 分子量 题解

    英文 Description An organic compound is any member of a large class of chemical compounds whose molecu ...

  3. UVa1586 - Molar mass

    //UVa1586 - Molar mass //给出一种由C, H, O, N 四种原子构成的分子式,求分子量 //#define A1 //无法处理换行问题(scanf) //#define A2 ...

  4. Molar mass(计算分子量)字符转化

    题目 An organic compound is any member of a large class of chemical compounds whose molecules contain ...

  5. 分子量(Molar Mass)

    Description 给出一种物质的得分子式(不带括号), 求分子量.本题中的分子式只包含4种原子,分别为C,H,O,N,原子的量分别为12.01,1.008,16.00,14.01.例如,C6H5 ...

  6. (UVA)1586 --Molar Mass(分子量)

    题目链接:http://vjudge.net/problem/UVA-1586 思路:统计一个分子式中CHON出现的总次数,乘上相对原子量后求和.要注意的是CH4这样的C后面的1默认不出现,以及C4H ...

  7. 26行代码AC——习题3-2 分子量 (UVa1586,Molar Mass)——解题报告

    大意: 给出分子式,式中只包含以下四种元素.求分子量. C:12.01 H: 1.008 O: 16.00 N: 14.01 Sample Input 4 C C6H5OH NH2CH2COOH C1 ...

  8. 算法竞赛入门经典 习题3-2 分子量 Molar Mass

    给出一种物质的分子式(不带括号),求其分子量.本题分子式中只包含四种原子,分别为C.H.O.N,原子量分别为12.01,1.008,16.00,14.01.例如,C6H5OH的分子量为94.108g/ ...

  9. 分子量 Molar Mass

    给出一种物质的得分子式(不带括号), 求分子量.本题中的分子式只包含4种原子,分别为C,H,O,N,原子的量分别为12.01,1.008,16.00,14.01.例如,C6H5OH的分子的量为94.1 ...

  10. 分子量Molar Mass

    题目 给出一种物质的分子式(不带括号),求分子量.本题中的分子式只包含4种原子,分别为 C . H .0. N ,原子量分别为12.01.1.008.16.00.14.01(单位: g / mol ) ...

最新文章

  1. python元组元素的提取比_Python 元组数据类型(tuple)详解 [访问元组元素][修改元组元素][删除元组][学习 Python 必备基础知识][看此一篇就够了]...
  2. 系统要关闭,可我程序还有事要处理?
  3. 清华计算机知识工程怎么样,张民(muslv)清华大学计算机系知识工程组 硕士清华大学.ppt...
  4. android 按比例缩放,Android postScale不按比例缩放
  5. MySQL探秘(五):InnoDB锁的类型和状态查询
  6. 005. how is RFC to backend determined - maintenance view IWFNDV_MGDEAM
  7. 数据库mdf和ldf文件_如何将SQL数据库文件(MDF和LDF)移动到另一个位置
  8. Spring 事务传播原理及数据库事务操作原理
  9. Python并发机制的实现(一)——多进程
  10. 调用远程摄像头进行人脸识别_工地如何实现安全帽检测/人脸识别?
  11. n元线性方程组解的情况及判别准则
  12. 计算机歌曲压缩比公式,音频动态压缩第三层(MPEGAudioLayer-3)
  13. Java的Abstraction抽象类/方法-笔记
  14. 计算机组成,南北桥,倍频,通信,频率一致才可以通信
  15. 不怕有错误,就怕没错误(1)
  16. 不知道用什么软件可以测试电路,自制电器维修检测工具
  17. 真假金士顿U盘大拆解
  18. 怎样添加“我的电脑”到桌面
  19. 海外跨境电商商城源码-进出口电商平台网站-多语言多商户平台
  20. 我的学习计划,反思……

热门文章

  1. matlab 相位解旋绕,相位解缠绕方法-南京航空航天大学学报.PDF
  2. tftpd32更新内核文件
  3. 【Linux】Shell脚本:while read line无法读取最后一行???
  4. 《筑墙——只需一点点安全常识就能阻止网络犯罪》
  5. 凛冬的寒风,吹开了电动车的遮羞布
  6. java中事务回滚吗_事务回滚 - 小虾米的java梦 - 博客园
  7. 为马来西亚航空失联飞机祈福~~
  8. 要点初见:Stable Diffusion NovelAI模型优质文字Tag汇总与实践【魔咒汇总】
  9. 查询某个网址的服务器IP
  10. 引用论坛、社区、问答系统的区别