UVAOJ1586题解
来源:互联网 发布:python生成一组随机数 编辑:程序博客网 时间:2024/06/06 13:22
题目就是计算分子量。
#include<stdio.h>#include<string.h>int main(){int i,j,t,m;float k,l,n;char a[100];scanf("%d",&t);for(i=0;i<t;i++){l=0;m=0;n=0;scanf("%s",a);for(j=0;j<strlen(a);j++){l=0;if(a[j]=='C')k=12.01;if(a[j]=='H')k=1.008;if(a[j]=='O')k=16.00;if(a[j]=='N')k=14.01;if((a[j]<'0'||a[j]>'9')&&(a[j+1]<'0'||a[j+1]>'9'))l=k;if ((a[j]>='0'&&a[j]<='9')&&(a[j+1]<'0'||a[j+1]>'9')){l=(a[j]-'0')*k;}if((a[j]>='0'&&a[j]<='9')&&(a[j+1]>='0'&&a[j+1]<='9')){l=k*((a[j]-'0')*10+a[j+1]-'0');j++;}n=n+l;}printf("%.3f\n",n);}}其实给我ac我是拒绝的。
因为看了代码就知道这个只能算后面为两位数的分子量。
这个问题的难点就是如何把字母后面的数字乘上前面的原子量。如代码所示,用了一大堆if',我还会回来改改的。
1 0
- UVAOJ1586题解
- 题解
- 题解
- 题解
- 题解
- 题解
- 题解
- 题解
- 题解
- 题解
- 题解
- 题解
- 题解~~~~
- 题解。。。。
- 题解
- 题解
- 1002 题解
- pku1001题解
- Codeforces 427C - Checkposts 极大连通分量Tarjan算法模板题(STL实现)
- iOS开发--下载安装cocoapods的详细教程、cocoapods使用第三方库
- Android TextView限制字数属性
- 错误:MySQL多列identity约束(VS2012)
- TraceView
- UVAOJ1586题解
- AsycTask----MyAsycTask类
- BMP文件与像素操作(glReadPixels,glDrawPixels和glCopyPixels应用举例)
- NET和java的RSA互通,仅此而已
- 通过addDataScheme("file") 浅析android事件过滤策略
- Maven POM文件
- Expanding Rods
- Spring过滤参数中的xss
- ./configure: error: SSL modules require the OpenSSL library