来源:牛客网-》在线测评-》解二佽方程计算器机历年考研复试上机题
设计一个二次方程解二次方程计算器器
每个案例是关于x的一个二次方程表达式为了简单,每个系数嘟是整数形式
每个案例输出两个实数(由小到大输出,中间由空格隔开)保留两位小数;如果无解,则输出“No Solution”
//关键点就是如何处理字符串。
从左到右扫描系数可能有负数(需要有一个sign来标记),可能是两位数(用while循环来读取)
遇到的问题:1.在c中输入字符串,只能通过scanf("%s",ch[i]);ch是一个二维数组如果放一个string的话,会有段错误
3.不要判断相等只写一个=啊,造成了死循环。
边界情况的处理在if判断里比较麻烦;
当是常数项时,在字符串中间(当前不是x)或者是最后(i==L);当是指数1时边界情况是(i==L-1)即还剩一个x,或者昰i+1不是^(通过判断常数项已经能够判断当前字符是x了);否则就是指数2项。还要判断系数为1的情况我是通过temp==0来判断,第一次提交时只通过95%嘚用例有一个-10x^2-10x=0,结果出错解二次方程计算器得到的b=-11.这就是因为我的判断条件有问题,所以加上了一个temp==0||L==R就可以了。3h