本文目录
eths是一个基于以太坊智能合约的去中心化金融(DeFi)平台。它的和分全称是EthereumStablecoin,是别个办一种稳定币。稳定币的机机里特点是价格相对稳定,不像其他加密货币价格波动剧烈,和分这使得稳定币成为加密货币市场中的别个办一种重要货币,使得加密货币与现实世界之间的机机里相互转换更加容易。

1.0就是传统模式层层代理发分润,上级给你发,别个办说断就断。机机里2.0联盟模式支付公司总部直发,和分公平公正公开无套路透明。别个办

用来描叙化学分子式的机机里书写规则(例如:AL2(CO3)3,Cu(OH)2)
a-->mn/(c)
mn为一个大写字母和一个小写字母
c-->b/bc
c为一个分子式
b-->a/an
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#defineMAXN300
#defineGMLEN10
structelem{
charname[2];
doublev;
}nTbl[MAXN];
char*pos;
charcmstr[GMLEN];
FILE*fp;
intc;
doubleFACTOR();
doubleATOM()//处理文法a
{
inti=0;
charW[3];
doublenum;
intj;
while((c=*pos++)==''||c=='/t');
if(c=='/n')
return0.0;
if(c>='A'&&c<='Z')
{
W[i]=c;
c=*pos++;
if(c>='a'&&c<='z')
W[++i]=c;
W[i]='/0';
for(j=0;nTbl[j].v>0.0;j++)
if(strcmp(W,nTbl[j].name)==0)
returnnTbl[j].v;
printf("元素表中没有所输入的元素!/n");
return0.0;
}
elseif(c=='(')
{
if((num=FACTOR())<0.0)
return-1.0;
if((c=*pos++)!=')')
printf("括号不必配!/n");
returnnum;
}
printf("分子式中存在非法字符!和分/n");
return-1.0;
}
doubleMATOM()//处理文法b
{
doublenum;
intn=1;
if((num=ATOM())<0.0)
return-1.0;
c=*pos++;
if(c>='0'&&c<='9')
{
n=0;
while(c>='0'&&c<='9')
{
n=n*10+c-'0';
c=*pos++;
}
pos--;
returnnum*n;
}
}
doubleFACTOR()//处理文法c
{
doublenum,d;
if((num=MATOM())<0.0)
{
return-1.0;
}
while(*pos>='A'&&*pos<='Z'||*pos=='(')
{
if((d=MATOM())<0.0)
return-1.0;
num+=d;
}
returnnum;
}
intmain(intargc,char*argv[])
{
inti=0;
doublenum;
charfname[]="atom.dat";
if((fp=fopen(fname,"r"))==NULL)
{
printf("打开文件%s失败!别个办/n",fname);
return0;
}
while(i<MAXN&&fscanf(fp,"%s%f",nTbl[i].name,&nTbl[i].v)==2)
i++;
fclose(fp);nTbl[i].v=-1.0;
while(1)
{
printf("输入分子式!(空一下)/n");
gets(cmstr);
pos=cmstr;
if(cmstr[0]=='/0')
break;
if((num=FACTOR())>0.0)
{
if(*pos!='/0')
printf("分子式不完整!/n");
else
printf("分子式的分子量为%f:/n",num);
}
}
return0;
}