社区讨论
帮我跑一下代码
题目总版参与者 4已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @lo8ep3x5
- 此快照首次捕获于
- 2023/10/27 17:23 2 年前
- 此快照最后确认于
- 2023/10/27 17:23 2 年前
有没有好心人帮我跑一下UVA1586,我没有账号跑不了,注册不了账号
C// 习题 3-2 分子量
#include<stdio.h>
#include<string.h>
char s[1000];
int n;
bool A(char ch){
switch(ch){
case 'C':
case 'H':
case 'O':
case 'N':return true;
default:return false;
}
}
float getAw(char ch){
switch(ch){
case 'C':return 12.01;
case 'H':return 1.008;
case 'O':return 16.00;
case 'N':return 14.01;
}
}
int main(){
scanf("%d", &n);
fflush(stdin);
while(n--){
//printf("%d:\n", n+1);
float total = 0;
gets(s);
for(int i=0;i<strlen(s);i++){
if(A(s[i])){
int sum=0;
bool isNum = false;
for(int j=i+1;j<strlen(s);j++)
if(!A(s[j])){
sum = sum*10+s[j]-'0';
isNum = true;
}
else
break;
if(!isNum)
sum=1;
total += sum*getAw(s[i]);
}
}
printf("%.3f\n", total);
}
return 0;
}
回复
共 7 条回复,欢迎继续交流。
正在加载回复...