社区
VB基础类
帖子详情
高手进来,求一个中级水平关于字符串的function的写法
Sqler
2004-01-05 08:56:02
化学方程式和离子反应方程式的配平
比如输入"MnO2+HCl=MnCl2+Cl2+H2O",根据质量守衡,需要输出成"MnO2+4HCl=MnCl2+Cl2+2H2O","Fe2+ + Cl2 =Fe3+ + Cl-"需要输出为"2Fe2+ + Cl2 =2Fe3+ + 2Cl-"
谢谢
...全文
132
16
打赏
收藏
高手进来,求一个中级水平关于字符串的function的写法
化学方程式和离子反应方程式的配平 比如输入"MnO2+HCl=MnCl2+Cl2+H2O",根据质量守衡,需要输出成"MnO2+4HCl=MnCl2+Cl2+2H2O","Fe2+ + Cl2 =Fe3+ + Cl-"需要输出为"2Fe2+ + Cl2 =2Fe3+ + 2Cl-" 谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Sqler
2004-01-07
打赏
举报
回复
我偏偏就不信邪
SoHo_Andy
2004-01-07
打赏
举报
回复
呵呵,是你的问题要求很高,不是几行代码就搞定了
上面已经有了一些思路,但是要实现比较好的话,还需要太多测试和修改了
Sqler
2004-01-07
打赏
举报
回复
大家都没招了吗?
Sqler
2004-01-06
打赏
举报
回复
up
kmzs
2004-01-05
打赏
举报
回复
配平问题不简单呢
龙华
2004-01-05
打赏
举报
回复
len("")/2。
龙华
2004-01-05
打赏
举报
回复
将元素种类赋值进字符串数组,所有的元素名称补足二位,如:Fe不变,H变为H#
,这样,二价化合价可以用FeFe表示,len("FeFe")就是它的化合价了。
当左边n*len("FeFe")+...=右边的时候,输出就可以了。
输出时将所有的字符长度大于二的取左二位,然后替换#为""。
OK,问题解决了吗?
a11s
2004-01-05
打赏
举报
回复
Fe 还有2价 3价的
何况同时具有两种价态的分子也有
(复杂程度空前加大)
Sqler
2004-01-05
打赏
举报
回复
配平的好多技巧好象根本用不上,只要质量守衡、电核守衡即可,没法分析电子得失了
帮我!谢谢
yzx99
2004-01-05
打赏
举报
回复
更关键的是化学方程式配平的基本技巧都忘了
对于简单的配平可以试用这种步骤
1.定义一个元素符号的基础表,以正确分解将来的化学方程式
2.定义动态数组,最好是二维并且元素一个,数量一个,左边一组,右边一组,第零项不用,做为配平数
3.包括对输入的化学方程式逐个字符分解
如果是加号新起一个\如果是数字放入数量中\如果元素不符合基础表中则取前面(N和Na的区分)放入元素中
4.开始配平
取第一个元素看左右的数量,再取最小公倍数填在数量中,再取下一个
……
纸上谈兵,对你没什么帮助,不过这么重要的算法网上应该有详细的介绍吧
SoHo_Andy
2004-01-05
打赏
举报
回复
示例,没时间都完成,给个简单提示吧
Private Type MyUnit
name As String
num As Integer
End Type
Dim unit左 As MyUnit
Dim unit右 As MyUnit
Dim 元素列表(3) As String '列出所有元素,这是为了避免不必要的文本分析过程
Private Sub Command1_Click()
Dim str1() As String
Dim str左() As String
Dim str右() As String
str1 = Split(Text1.Text, "=")
str左 = Split(str1(0), "+")
str右 = Split(str1(1), "+")
'解析左右表达式,把元素和质量数填入unit左右结构中
'配平,使用递归算法,多次计算和配平,知道unit左右两个结构中元素num都相同
End Sub
Private Sub Form_Load()
Text1.Text = "MnO2+HCl=MnCl2+Cl2+H2O"
元素列表(0) = "Mn"
元素列表(1) = "O"
元素列表(2) = "H"
元素列表(3) = "Cl"
End Sub
zhengoodman
2004-01-05
打赏
举报
回复
mark,可以研究一下
northwolves
2004-01-05
打赏
举报
回复
有一定难度,boybluesky(boybluesky) 的思路有创意
Sqler
2004-01-05
打赏
举报
回复
再推一把,星星们怎么不支招呀?
yzx99
2004-01-05
打赏
举报
回复
去
http://biosoft.im.ac.cn/chem.html
下载相关软件
两个高中生写的带PASCAL源码
江苏省苏州中学高二(2)班
Dick·邵 或 DARYL·吴 收
邮政编码:215000
D&D Studio
97-10-10
captainivy
2004-01-05
打赏
举报
回复
那确实
挺复杂的
学习一下
Python 47个
字符串
方法
# Python 47个
字符串
方法## 课程介绍同学们是否总是要搜资料、查官网后,才知道怎么操作
字符串
?如果是,来学学本课程吧,本课程以讲解官网文档的方式,讲解 Python 47个
字符串
方法,涉及替换、删除、连接、查找、...
java分割子
字符串
,Java
字符串
分割截取的方法 (substring,split,StringTokenizer,indexOf,lastIndexOf)...
需
求
,把”01:大汽车”,分成01和大汽车有两种做法:一是substringpackage test;public class substringTest{public static void main(String args[]){String N = "01:大汽车";String L="";String R="";int k= N....
正则表达式
在计算机科学中,是指
一个
用来描述或者匹配一系列符合某个句法规则的
字符串
的单个
字符串
。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符合某个模式的文本内容。许多程序设计语言都支持...
1+XWeb前端开发
中级
证书---第4套模拟题之理论题
分析js代码,将
字符串
’{"姓名":"张三","性别":"男"}’解析成JSON对象,
写法
正确的是() C、JSON.parse('{"姓名":"张三","性别":"男"}') 2 分析js代码, 以下( )语句一定会产生运行错误? C、var obj=//; 3 分析...
【ECMAScript6】es6 要点(一)剩余参数 | 数组方法 | 解构赋值 |
字符串
模板 | 面向对象 | 模块
前端修罗场提供全网最专业的前端优质文章与社区服务,为应届生,初
中级
前端工程师提供全面、优质的面试服务、技能提升、职场解惑服务!内容包含:前端面试辅导,前端面试题,前端交流,前端答疑,前端基础知识,前端...
VB基础类
7,763
社区成员
197,609
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章