永发信息网

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");//暂停等待用户继续
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯