怎么用C语言设计分子量计算例如C6H8O12

#include"stdio.h"
#include"math.h"
int main()
{
int sb(int ,int);
char a[20];
float num=0,C=12.01,s,aha,sum=0;
int j,k,i,t;
gets(a);
for(i=0;a[i]!='\0';i++)
{
if(a[i]=='C')
{
for(k=i+1;a[k]>='0'&&a[k]<='9';k++)
;
t=k-(i+1);
for(s=t,j=i+1;s>0,j<=k;t--,j++)
{
aha=sb(10,t-1);
num=num+(a[j]-48)*aha;
}
sum=num*C;
}
printf("%f",sum);
return 0;
}
}
int sb(int a,int b)
{
int i,t=1;
for(i=1;i<=b;i++)
t=a*t;
return t;
}
我不懂哪错了 大神指出错误感激不尽

2个回答

讲讲你的算法,怎样计算分子量?
看上去有一处错误:

            for(s=t,j=i+1;s>0 && j<=k;t--,j++)//修改

qq_32454729
zzfyh 不好意思 我知道怎么做了 我看到网上的答案了 我的思路都是错的....
接近 5 年之前 回复

我都没有看到H和O的原子量在你程序中,你是怎么计算的。
分子量无非就是原子量x原子数,加起来。当然复杂一些的还有括号。这和表达式计算是一个道理。

qq_32454729
zzfyh 不好意思 我知道怎么做了 我看到网上的答案了 我的思路都是错的....
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐