C语言计算原子量
答案:1 悬赏:0 手机版
解决时间 2021-02-28 00:17
- 提问者网友:情歌越听越心酸
- 2021-02-27 15:03
C语言计算原子量
最佳答案
- 五星知识达人网友:举杯邀酒敬孤独
- 2021-02-27 16:05
#include
int main()
{
printf("请输入化学式:\n");
char c;
int count_c=0,count_h=0,count_o=0,count_n=0;
double mass=0.0;
int count=0;
scanf("%c",&c);//读取第一个字符
while(c!='\n') //读取字符直到回车
{
switch (c) { //处理四种情况,四种元素
case 'C': //C元素
scanf("%c",&c); //读取下一个字符
if((c>='0')&&(c<='9'))//如果下一个是数字则准备读该数字否则准备该元素加一
count=0;
else count=1;
while((c>='0')&&(c<='9'))//读取元素符号后面的数字
{
count=count*10+(c-'0');
scanf("%c",&c);
}
count_c+=count;//累加该种元素
break;
case 'H':
scanf("%c",&c);
if((c>='0')&&(c<='9'))
count=0;
else count=1;
while((c>='0')&&(c<='9'))
{
count=count*10+(c-'0');
scanf("%c",&c);
}
count_h+=count;
break;
case 'O':
scanf("%c",&c);
if((c>='0')&&(c<='9'))
count=0;
else count=1;
while((c>='0')&&(c<='9'))
{
count=count*10+(c-'0');
scanf("%c",&c);
}
count_o+=count;
break;
case 'N':
scanf("%c",&c);
if((c>='0')&&(c<='9'))
count=0;
else count=1;
while((c>='0')&&(c<='9'))
{
count=count*10+(c-'0');
scanf("%c",&c);
}
count_n+=count;
break;
default:
printf("error;bad input\n");
break;
}//end switch
}//end while
//printf("C%dH%dO%dN%d\n",count_c,count_h,count_o,count_n);
mass=12.01*count_c+1.008*count_h+16.00*count_o+14.01*count_n;//计算总质量
printf("mass:%lf\n",mass);//输出总质量
system("pause");//暂停等待用户继续
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯