UVA1586
发布日期:2021-06-29 10:50:27 浏览次数:2 分类:技术文章

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

复制题目会打乱格式,所以截图啦!

解题思路:遍历字符串,判断是字母还是数字,若是字母再判断它的下一个是不是字母,或者是否下一个已经等于数组长度减一,就加上该字母所对应的摩尔质量,如果,遇到的为数字,用r记住该位置的前一个位置,便于之后计算,再用while循环判断下一个是否为数字,则将数字累加,直到不为数字为止。

ac代码:

#include 
#include
#include
#include
using namespace std;int t,len,k,r;double sum;char a[85];double judge(char c){ if(c=='C') return 12.01; if(c=='H') return 1.008; if(c=='O') return 16.00; if(c=='N') return 14.01; return 0;}int main(){ scanf("%d",&t); while(t--) { scanf("%s",a); sum=0; k=0;//对k进行初始化,由于没有初始化一直WA了一天 len=strlen(a); for(int i=0;i
若有问题欢迎在评论区讨论!

转载地址:https://blog.csdn.net/ZP_nanfangguniang/article/details/52214340 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:poj1008
下一篇:hdu1105

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年04月24日 20时47分32秒