题目详情
当前位置:首页 > 计算机考试 > 中级软件设计师
题目详情:
发布时间:2024-03-13 18:48:11

[简答题]【程序说明】 下列文法可用来描述化学分子式的书写规则(例如,A12(C03)、Cu(OH)2): λ→β|βλ β→δ|δn δ→ξ|ξθλ 其中,λ是一个分子式;δ或是一个元素,或是一个带括号的(子)分子式,元素或是一个大写字母(记为ξ),或是一个大写字母和一个小写字母(记为ξθ);β或是一个δ,或是在δ之后接上一个整数n,δn表示β有n个δ的元素或(子)分子式。一个完整的分子式由若干个β组成。 当然一个正确的分子式除符合上述文法规则外,还应满足分子式本身的语义要求。下面的程序输入分子式,按上述文法分析分子式,并计算出该分子式的分子量。例如,元素H的原子量是1,元素O的原子量是16。输入分子式H2O,程序计算出它的分子量为重18(1×2+16)。程序中各元素的名及它的原子量从文件atom.dat中读入。 【程序】 #include <stdio.h> #include <string.h> #define MAXN 300 #define CMLEN 30 struct elem{ char name[3];/*元素名*/ double v; /*原子量*/ }nTbl[MAXN]; char cmStr[CMLEN], *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[i].v>0.0; i++) if(strcmp(w, nTbl[i].name)==0) return nTbl[i].v;

更多"【程序说明】 下列文法可用来描述化学分子式的书写规则(例如,A12"的相关试题:

[填空题]面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个()。
[填空题]面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个 【2】
[填空题]面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个 【3】

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

请不要关闭本页面,支付完成后请点击【支付完成】按钮
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码