2 weixin 40065106 weixin_40065106 于 2017.09.01 19:32 提问

C# 解一元二次方程,初学者,想要一个思路还有一些函数和方法
c#

因为初学很多东西都不熟悉,但是学校的作业进度又太快的(在国外选的选修),
大致要求是用string把整个方程输入e.g. 7X^2+2X+6=6x^2+4x+2 然后解出X并且还有验证。 想要一个详细的思路还有一些函数和方法,因为初学没多久所以知道的不多。

1个回答

qq_38310070
qq_38310070   2017.09.01 23:27

方程两边都是ax²+bx+c的形式,整个方程可以整理成ax²+bx+c=0然后可以用公式了,公式自行百度,这里只讲怎么提取a,b,c。
遍历字符串,找到x²,截取它前面的数字存在变量中,这就是a,然后再用这种方法找到b,c
有问题请追问

qq_38310070
qq_38310070 定位x²在字符串的位置,保存在变量a,定位x²前+(-)的位置,保存在变量b,截取字符串数组下标为b+1到a-1的数组,转换为数字保存在变量c中 定位x在字符串的位置,保存在变量a,定位x前+(-)的位置,保存在变量b,截取字符串数组下标为b+1到a-1的数组,转换为数字保存在变量d中 定位等号在字符串的位置,保存在变量a,定位等号前+(-)的位置,保存在变量b,截取字符串数组下标为b+1到a-1的数组,转换为数字保存在变量e中 因为我是学c的,c#不熟悉,取指定字符的命令在c#中是有的
3 个月之前 回复
weixin_40065106
weixin_40065106 回复???.BMP:可能和我需要的不一样吧,因为要提取abc的话应该要先把几个字符分开提取出来吧
3 个月之前 回复
qq_38310070
qq_38310070 你可以用正则表达式获取: 请参考:http://ask.csdn.net/questions/335158我回学校用正则表达式截取一下再发过来,现在我没在学校
3 个月之前 回复
weixin_40065106
weixin_40065106 本来是想用string[] XX = split "+,="来做的,不过作业里给出了很多特殊的方程,我之前就是因为找不到单独提取x²,x和系数所以选择了前面的做法,可以求一下后者的函数吗
3 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片