C语言计算原子量

Python07

C语言计算原子量,第1张

/*

只有C H O N元素

C 12。01 H 1。008 O 16。00 N 14。01

输入C6H5OH

输出94.108

*/

#include<stdio.h>

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("errorbad 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")//暂停等待用户继续

}

绝对不是,绝对不是

原子操作是指 一句汇编指令。但是 i++是指 i 先被使用虽然咱们这里并没有使用,但实际上会被 临时存储下来。然后i=i+1。

所以算2句