已知氢的原子量为1,碳的原子量为12,氧的原子量为16,输入化学结构式/分子式,计算对应的分子量(分子的数量小于10)
例如:乙酸(醋酸)的分子式为CH3COOH,分子量为12+1×3+12+16+16+1=60

输入
分子式/结构式,长度不超过30,在分子式/结构式中只有字母和数字,
其中的字母只会出现三个大写字母CHO,另外在数值之前必然有字母。
测试数据有多组,处理到输入结束。

输出
输出分子量(正整数),每个输出占1行。

样例输入
H2
C
O2
CO2
H2O
CH4
CH3CH2OH
CH3COOH
CH3COOCH2CH3
C4H10

样例输出
2
12
32
44
18
16
46
60
88
58

#include<stdio.h>
#include<string.h>
int f(char* p, int* sum)
{if (*p == '\0'){return *sum;}else{if (*p == 'C'){(*sum) += 12;f((p + 1), sum);//C的质量并指向下一个原子        }else if (*p == 'H'){(*sum)++;f((p + 1), sum);}else if (*p == 'O'){*sum += 16;f((p +1), sum);}else if(*p > '1' && *p <= '9')//求含有多个相同原子的质量{(*p)--;f((p - 1), sum);}else if (*p == '1'){f((p + 1), sum);}}}
int main()
{char a[100];while (scanf("%s", &a)!=EOF){int j=0;int* sum=&j;f(a, sum);//定义一个求分子质量的函数printf("%d\n", *sum);}return 0;
}

C语言求CHO的相对分子质量相关推荐

  1. C语言 求分子式的分子质量

    要求:1:不带括号的分子式求解 2:带一层括号的分子式求解 不带括号的分子式 用high和low记住每次扫描的最高位和最低位,不能求解多为整数时的系数 # include<stdio.h> ...

  2. 1-3 5-7的c语言程序,C语言求1-1/3+1/5-1/7+...——小程序,大道理

    问题:用C语言编写程序求1-1/3+1/5-1/7+... 示例: #include void main(){ int n=; float sum=,a=; while(a<=){ sum=su ...

  3. Molecular weight相对分子质量

    Molecular weight相对分子质量 时间限制: 1 Sec  内存限制: 128 MB 提交: 12  解决: 6 [提交][状态][讨论版][Edit] [TestData] 题目描述 小 ...

  4. 「化学」相对分子质量

    题目描述 做化学题时,小 F 总是里算错相对分子质量,这让他非常苦恼. 小 F 找到了你,请你来帮他算一算给定物质的相对分子质量. 如果你没有学过相关内容也没有关系,你可以从样例和提示里理解该题所求内 ...

  5. c语言程序π,C语言求圆周率π(三种方法)

    题目1) 利用公式①计求π的近似值,要求累加到最后一项小于10^(-6)为止. 题目2) 根据公式②,用前100项之积计算π的值. 题目1)提供了一种解法,题目2)提供了两种解法,请看解析. 题目1) ...

  6. c语言用库函数求正弦数,用C语言求正弦值?

    1.C语言中要编写sin函数,实质上要利用sin的泰勒公式,然后根据泰勒公式,将其中的每一项进行分解,最后用循环,累加计算出最终结果. 2.下面用for循环实现sin的算法,程序代码如下: #incl ...

  7. c语言求圆周率 . 4,C语言求圆周率π(三种方法)(4页)-原创力文档

    C语言求圆周率π(三种方法) 题目1) 利用公式①计求π的近似值,要求累加到最后一项小于10^(-6)为止.题目2) 根据公式②,用前100项之积计算π的值.题目1)提供了一种解法,题目2)提供了两种 ...

  8. C语言求最大公约数及最小公倍数

    C语言求最大公约数及最小公倍数 1. 最大公约数 1.1 定义 ​ 最大公约数(Greatest Common Divisor,GCD),也称最大公因数.最大公因子,是一种数学概念,指两个或多个整数共 ...

  9. 用c语言怎么求最大公约数,c语言求最大公约数

    c语言求最大公约数[编辑] 概述 c语言是一种计算机编程语言,该语言的优势在于任何环境都能运行并能达到简易的方式编译.处理低级存储器和产生少量的机器码等效果. c语言是一种计算机编程语言,该语言的优势 ...

最新文章

  1. 谷歌用1.2万个模型“推翻”现有无监督研究成果!斩获ICML 2019最佳论文
  2. uc3842开关电源电路图_UC3842构成的开关电源电路
  3. 黑马程序员 - 接口、内部类和异常
  4. 10分钟弄懂深度学习:卷积与特征提取
  5. 【Tools】Tools博客汇总
  6. 用Python制作一个随机抽奖小工具
  7. visualstudio2015无法打开包括文件stdio.h等
  8. jvm--3.内存管理
  9. 深入理解java虚拟机 - jvm高级特性与最佳实践(第三版)_JVM虚拟机面试指南:年薪30W以上高薪岗位需求的JVM,你必须要懂!...
  10. android 入门 (分析: 非匿名内部类 监听功能的实现)
  11. python四分位数_四分位数计算过程
  12. Recent concerns
  13. 主板知识详解:主板结构
  14. uniapp小程序 安卓和ios时间兼容性问题解决方案
  15. web前端程序员职位介绍
  16. 对nand flash设备进行升级
  17. 字符串——BZOJ 3097: Hash Killer I【构造题,思维题】
  18. Java之数组实现增删改
  19. OpenCV配置(利用Source编译,并配置扩展库opencv_contrib)
  20. gunicorn的命令参数解释

热门文章

  1. Cantor(有理数)
  2. 【V-REP自学笔记(八)】控制youBot抓取和移动物体
  3. HYSBZ 2565 Manacher算法
  4. java制作海报一:java使用Graphics2D 在图片上写字,文字换行算法详解
  5. 在线便携小风扇链接,带给你清凉一夏
  6. 盘古开源在芯片领域崛起,专注于芯片研发
  7. 详解Pod和容器资源管理和分配(CPU和内存分配,临时存储管理)
  8. 微信图片过期怎么办?如何查看微信过期图片?3步即可
  9. 怀孕用计算机来算周期怎么算,怀孕周期计算器公式
  10. Cocos-js快速上手