Molar mass UVA
来源:互联网 发布:手机淘宝首页热点 编辑:程序博客网 时间:2024/05/18 03:33
问题类型:字符串,条件判断。
03pie’s solution for [UVA-1586]:
#include<cstdio>#include<iostream>#include<sstream>#include<cstdlib>#include<cmath>#include<cctype>#include<string>#include<cstring>#include<algorithm>#include<stack>#include<queue>#include<set>#include<map>#include<ctime>#include<vector>#include<fstream>#include<list>using namespace std;#define ms(s) memset(s,0,sizeof(s))typedef unsigned long long ULL;typedef long long LL;const double PI = 3.141592653589;const int INF = 0x3fffffff;float v(char a){ float q; if(a=='C') q=12.01; if(a=='H') q=1.008; if(a=='O') q=16.00; if(a=='N') q=14.01; return q; } #define maxn 90int main(){ // freopen("F://inp.txt","r",stdin); char gs[maxn]; int T; scanf("%d",&T); while(T--) { scanf("%s",gs); int len=strlen(gs); float toll=0; int nubl=0,p=0; for(int i=0;i<len;i++) { char car; if(isalpha(gs[i]))//是字母 { if(gs[i+1]=='\0'||isalpha(gs[i+1])) {// printf("tool=%.3f\n",toll); toll+=(v(gs[i]));// printf("tool=%.3f\n",toll); } } if(isdigit(gs[i]))//是数字 { if(isalpha(gs[i-1]))//前一位是字母 { car=gs[i-1]; nubl=(gs[i]-'0'); } if(isdigit(gs[i-1]))//前一位是数字 { nubl=nubl*10+(gs[i]-'0'); } if(isalpha(gs[i+1])||gs[i+1]=='\0')//后一位是字母 ,和结束 { toll+=nubl*v(car); } } } printf("%.3f\n",toll); } return 0;}
0 0
- uva 1586 - Molar mass
- UVa 1586 - Molar mass
- UVa 1586 - Molar mass
- UVA 1586 ----Molar mass
- UVA 1586 - Molar mass
- UVa 1586 Molar mass
- UVa 1586 - Molar Mass
- UVA - 1586 Molar mass
- uva 1586 - Molar mass
- UVA 1586 Molar mass
- UVa 1586 - Molar mass
- UVa-1586Molar mass
- 【Uva 1586】 Molar mass
- UVA - 1586 Molar mass
- uva 1586 - Molar mass
- Uva - 1586 - Molar mass
- Uva 1586 Molar mass
- UVa 1586 Molar Mass
- leetcode
- 定时器中断
- PHP经典实例读书笔记(练习:日历)
- python关键字和非关键字参数(可变长参数)
- 拓扑排序小记
- Molar mass UVA
- 微信小程序中的swiper组件
- Java @Named的默认值为类名的首字母小写
- 蓝桥 奇怪的分式
- POJO、JavaBeans、EJB的区别
- All in All UVA
- C#网络编程初步之TCP
- 【TOP100】100个中国大数据应用最佳实践案例—为您打开万亿元大数据产业的财富之门
- 关于数组我们必须会的的运算