赞
踩
给出一个由O和X组成的串(长度为1~80),统计得分。每个O的得分为目前连续出现的O的个数,X的得分为0。例如,OOXXOXXOOO的得分为1+2+0+0+1+0+0+1+2+3。
#include<stdio.h> #include<string.h> #define maxn 1000 + 10 char s[maxn]; int main() { scanf("%s", s); int oc=0,score=0; for(int i = 0; i < strlen(s); i++){ if(s[i] == 'X') { oc=0; continue; } else{ oc++; score+=oc; } } printf("%d\n", score); }
给出一种物质的分子式(不带括号),求分子量。本题中的分子式只包含4种原子,分别为C, H, O, N,原子量分别为12.01, 1.008, 16.00, 14.01(单位:g/mol)。例如,C6H5OH的分子量为94.108g/mol。
#include<stdio.h> #include<string.h> #define maxn 1000 + 10 char a[maxn]; int main() { scanf("%s",a); double mass=0; for(int i = 0; i < strlen(a); i++){ if(a[i+1] >='1' && a[i+1]<='9'){ int x; x=a[i+1]-'0';//转为数值 switch(a[i]) { case 'C':mass+=12.01*x;break; case 'H':mass+=1.008*x;break; case 'O':mass+=16.00*x;break; case 'N':mass+=14.01*x;break; } i++; } else{ switch(a[i]) { case 'C':mass+=12.01;break; case 'H':mass+=1.008;break; case 'O':mass+=16.00;break; case 'N':mass+=14.01;break; } } } printf("%.3fg/mol\n", mass); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。