首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明和C代码,将应填人(n)处的字句写在对应栏内。 [程序5说明] 下列文法可用来描述化学分子式的书写规则(例如,A12(CO3)3”Cu(OH)2): λ→β\βλ β→δ\δn δ→ξ\ξθ\(λ) 其中
阅读下列程序说明和C代码,将应填人(n)处的字句写在对应栏内。 [程序5说明] 下列文法可用来描述化学分子式的书写规则(例如,A12(CO3)3”Cu(OH)2): λ→β\βλ β→δ\δn δ→ξ\ξθ\(λ) 其中
admin
2009-02-15
85
问题
阅读下列程序说明和C代码,将应填人(n)处的字句写在对应栏内。
[程序5说明]
下列文法可用来描述化学分子式的书写规则(例如,A12(CO3)3”Cu(OH)2):
λ→β\βλ
β→δ\δn
δ→ξ\ξθ\(λ)
其中:λ是—个分子式;δ或是一个元素,或是一个带括号的(子)分子式,元素或是一个大写字母(记为ξ),或是一个大写字母和一个小写字母(记为ξθ)β或是一个δ,或是在δ之后接上一个整数n,δn表示β有n个δ的元素或(子)分子式。—个完整的分子式由若干个β组成。
当然一个正确的分子式除符合上述文法规则外,还应满足分子式本身的语义要求。
下面的程序输入分子式,按上述文法分析分子式,并计算出该分子式的分子量。例如:元素H的原子量是1,元素O的原子量是16。输入分子式H2O,程序计算出它的分子量为18 (1×2+16)。程序中各元素的名及它的原子量从文件atom.dat中读入。
[程序5]
#include < stdio. h >
#include < string. h >
#define MAXN 300
#define GMLEN 30
struct elem { char name[ ]; /* 元素名*/
double v;/*原子量*/
} nTbl [MAXN];
char cmStr [GMLEN], * pos;
int c;FILE * fp;
double factor( );
double atom( ) /* 处理文法符号δ*/
{char w [3];int i; double num;
while((c = * pos++) ==’||c ==’\t’); /*略过空白字符*/
if(c == ’\n’) return 0.0;
if(c>=’A’ && C <=’Z’) {/*将元素名存入W */
w[i =0]=c;c= * pos ++
if(c >=’a’&& c <=’z’)w[ ++i] =c;else pos--;
w[ ++i] =’\0’,
for(i =0;nTbl
. v >0.0;i ++)
if(strcmp (w,nTbl
. name) ==0) return nTbl
. v;
printf (" \n元素表中没有所输入的无素: \t%s\n’,w); retur n - 1.0;
} elseif (c = =’(’) {
if((num=(1)) <0.0)return -l.0; /*包括可能为空的情况*/
if( * pos ++ ! = ’)’) { printf (" 分子式中括号不匹配!/n") ;return - 1.0; }
return num;
}
printf ("分子式中存在非法字符:\t%c\n" ,c);
return - 1.0;
}
double mAtom( ) /* 处理文法符号β*/
{ double num ;int n = ];
if((num=(2)) <0.0)return-l.0;
c= *pos++;
if(c >=’O’&&c <=’9’) {
n = 0; while(c > = 0&&c < =’9’)
{n=(3);
c= *poss ++;
}
}
pos --;
return num * n;
}
double factor( ) /*处理文法符号λ*/
{ double num =0.0,d;
if(( hum = mAtom ( )) < 0.0) return - 1.0;
while( * pos >= ’A’&& * pos <= ’Z’||* pos == ’(’) {
if((d=(4)) <0.0)return-1.0;
(5);
} return num;
void main( )
{ char fname[ ] ="atom. dst"; /*元素名及其原子量文件*/
int i;double num;
if((fp=fopon(fname,"r" )) == NULL) { /*以读方式打开正文文件*/
prinff("Can net open%s file. \n’ ,fname) ;return /*程序非正常结束 */
i=0;
while(i < MAXN&&fscanf (fp," %s%lf,bTbl
. name,&nTbl
. v) ==2)
i++;
fclose(fp) ;nTbl
. v =-1.0;
while(1) [/*输入分子式和计算分子量循环,直至输入空行结束*/
printf(" \n 输入分子式! (空行结束) \n" ) ;gets(cmStr);
pos = cmStr;
if(cmStr[0] == ’\0’) break;
if( (num = later( ) ) > 0.0)
if( * pos! = ’\0’)printf("分子式不完整! \n" );
else printf("分子式的分子量为%f\n",num);
}
选项
答案
(1)factor()(2)atom()(3)n*10+c-’0’(4)mAtom()(5)num+=d
解析
(1)查找“(”后的子分子式的分子量。(2)得到元素的原子量。(3)计算元素后面的数字。(4)计算文法符号的分子量。(5)将分子式的各个部分的分子量进行累加。atom()查找输入字符串一个元素,并输出它的原子量;遇到括号时,使用递归对括号后的元素进行识别和计算,输出后,检查是否括号匹配;遇到其他字符则直接返回-1;0表示失败。mAtom()对元素及其后面的数字进行辨识,并调用atom()计算它们的原子量。Factor()对整个分子式进行辨识并计算其分子量。
转载请注明原文地址:https://kaotiyun.com/show/NgDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
一个程序的控制流图中有6个节点,10条边,在测试用例数最少的情况下,确保程序中每个可执行语句至少执行一次所需要的测试用例数的上限是______。
页式存储系统的逻辑地址是由页号和页内地址两部分组成。假定页面的大小为4K,地址变换过程如下图所示,图中逻辑地址用十进制表示。图中有效地址经过变换后,十进制物理地址a应为(18)。
以下属于测试停止依据的是______。①测试用例全部执行结束②测试覆盖率达到要求③测试超出了预定时间④查出了预定数目的故障⑤执行了预定的测试方案⑥测试时间不足
设系统中有R类资源m个,现有n个进程互斥使用。若每个进程对R资源的最大需求为w,那么当m、n、w取下表的值时,对于下表中的a~e五种情况,(26)两种情况可能会发生死锁。对于这两种情况,若将(27),则不会发生死锁。
在WindowsXP操作系统中,用户利用“磁盘管理”程序可以对磁盘进行初始化、创建卷,(23)。通常将“C:\Windows\nyprogram.exe”文件设置成只读和隐藏属性,以便控制用户对该文件的访问,这一级安全管理称之为(24)安全管理。
某文件管理系统采用位示图(bitmap)记录磁盘的使用情况。如果系统的字长为32位,磁盘物理块的大小为4MB,物理块依次编号为:0、1、2、…,位示图字依次编号为:0、1、2、…,那么16385号物理块的使用情况在位示图中的第(24)个字中描述;如果磁盘的
假设某公司营销系统有营销点关系S(营销点,负责人姓名,联系方式)、商品关系P(商品名,条形码,型号,产地,数量,价格),其中,营销点唯一标识S中的每一个元组。每个营销点可以销售多种商品,每一种商品可以由不同的营销点销售。关系S和P的主键分别为(15),S
MVC模式(模型.视图一控制器)是软件工程中的一种软件架构模式,把软件系统分为模型、视图和控制器三个部分。________________不属于MVC模式的优点。
通用的风险分析表应包括()。(54)①风险问题②发生的呵能性③影响的严重性④风险预测值⑤风险优先级
根据你的网络工程经验,请用250字以内的文字简要描述该21层教学综合大楼网络层次结构设计的要点。(不要求画图)请用300字以内的文字,以提纲形式描述该21层教学综合大楼综合布线设计的方案要点。
随机试题
健康育龄期女性在一个月经周期中体温最低点发生于()。
WheredidGailspendthenightsinthecountry?
分配职工上岗作业前未进行安全教育、培训,经煤矿安全监察机构责令限期改正,逾期不改正的,由煤矿安全监察机构处()。
钢筋混凝土预制桩和灌注桩相比,其特点是()。
材料在潮湿的空气中吸收空气中水分的性质称为()。
某家电企业为增值税一般纳税人,适用的增值税税率为17%,2014年8月份该企业发生的有关职工薪酬的资料如下:(1)当月应付职工工资总额为500万元,“工资费用分配汇总表”中列示的产品生产工人工资为350万元,车间管理人员工资为70万元,企业行政管理人员工
原告钱某,女;被告王某,男。钱某与王某于1987年结婚,婚后生育一女孩。王某自1990年外出打工回来后,经常在外吃喝玩乐,甚至与其他女性发生不正当关系,对钱某母女不尽任何义务。1993年2月,王某再次外出打工,但此后再也没有回来,也未跟家中有任何联系。19
地球水陆分布极不平均,海洋的总面积占全球面积的()。
(61)Beautyhasalwaysbeenregardedassomethingpraiseworthy.Almosteveryonethinksattractivepeoplearehappierandhealthi
CarsareanimportantpartoflifeintheUnitedStates.Withoutacar,mostpeoplefeelthattheyare【C1】________Andevenifa
最新回复
(
0
)