Molar mass
来源:互联网 发布:mac 图片浏览 编辑:程序博客网 时间:2024/06/05 17:30
#include<stdio.h>
#include<string.h>
int main()
{
char a[5000][100];
double f[5000]={0};
int T,i,j,b,t,d;
double e;
scanf("%d",&T);
for(j=0;j<T;j++)
{
scanf("%s",a[j]);
for(i=0;i<strlen(a[j]);i++)
{
if(isdigit(a[j][i])==0)
{
switch(a[j][i])
{
case'C':e=12.01;break;
case'H':e=1.008;break;
case'O':e=16.00;break;
case'N':e=14.01;break;
}
if(isdigit(a[j][i+1])==0)
f[j]+=e;
}
else
{
if(isdigit(a[j][i-1])==0)
{
t=a[j][i]-'0';
if(isdigit(a[j][i+1]))
{
d=a[j][i+1]-'0';
b=t*10+d;
f[j]+=e*b;
}
else
f[j]+=e*t;
}
}
}
}
for(i=0;i<T;i++)
{
printf("%.3lf\n",f[i]);
}
return 0;
#include<string.h>
int main()
{
char a[5000][100];
double f[5000]={0};
int T,i,j,b,t,d;
double e;
scanf("%d",&T);
for(j=0;j<T;j++)
{
scanf("%s",a[j]);
for(i=0;i<strlen(a[j]);i++)
{
if(isdigit(a[j][i])==0)
{
switch(a[j][i])
{
case'C':e=12.01;break;
case'H':e=1.008;break;
case'O':e=16.00;break;
case'N':e=14.01;break;
}
if(isdigit(a[j][i+1])==0)
f[j]+=e;
}
else
{
if(isdigit(a[j][i-1])==0)
{
t=a[j][i]-'0';
if(isdigit(a[j][i+1]))
{
d=a[j][i+1]-'0';
b=t*10+d;
f[j]+=e*b;
}
else
f[j]+=e*t;
}
}
}
}
for(i=0;i<T;i++)
{
printf("%.3lf\n",f[i]);
}
return 0;
}
这题很简单的,可是让我在uva上提交了好几遍,一直是编译错误,后来才发现有个头文件用错了,估计不是c里的。。。
0 0
- Molar mass
- Molar mass
- Molar mass
- Molar Mass
- Molar mass 【字符串处理】
- uva 1586 - Molar mass
- uva1586----Molar mass
- UVa 1586 - Molar mass
- UVa 1586 - Molar mass
- UVA 1586 ----Molar mass
- UVA 1586 - Molar mass
- uvaoj 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
- 基于 Django 框架的敏捷 Web 开发
- CImage类显示图片
- Trie树实现
- Linux中Java程序调用Blast进行序列匹配
- Intellij IDEA调试功能使用总结
- Molar mass
- linux系统中scp命令的用法
- Codeforces Round #277 (Div. 2)
- servlet基本概念
- !
- leetcode:Palindrome Number 回文整数
- 题目【2005】
- 在Unity中如何实现重复循环效果?
- JAVA中,eXtremeDB SQL与Date类型的结合