首页 > 试题广场 >

二次方程计算器

[编程题]二次方程计算器
  • 热度指数:6685 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
设计一个二次方程计算器

输入描述:
每个案例是关于x的一个二次方程表达式,为了简单,每个系数都是整数形式。


输出描述:
每个案例输出两个实数(由小到大输出,中间由空格隔开),保留两位小数;如果无解,则输出“No Solution”。
示例1

输入

x^2+x=3x+4

输出

-1.24 3.24
头像 健康快乐最重要
发表于 2020-03-17 12:31:45
给刘珈汝写的:1.设置a b c分别为二次方、一次放、常数的系数。2.设置flag为数的正负,如果遇到+,flag=1,如果遇-,flag=0;3.如果遇到x,则判断下一位是不是^,如果是^说明是平方的系数,否则说明是一次方的系数4.如果遇到数字,判断数字的下一位是不是符号或者末尾,如果是则数字不是 展开全文
头像 向某人
发表于 2023-02-15 04:10:06
//主要的思路是,遍历二次式字符串,计算常数项、一次项、二次项的系数和,再利用求根公式得出答案 #include <iostream> #include <string> #include <cmath> #include <cstdio> using 展开全文
头像 牛客810733790号
发表于 2025-03-18 15:23:33
#include <bits/stdc++.h> using namespace std; struct xishu{ int a; int b; int c; }; xishu getxishu(string str){ int positive = 展开全文
头像 tongzi
发表于 2022-02-13 21:33:29
因为仅仅包含 = + - ^四种符号,所以我的思路是将除了+ - = 之外的字符串提取出来,然后对各个字符串进行分析,并将三个系数的结果保存在向量中以便最终计算。
头像 lyw菌
发表于 2023-03-13 19:01:59
//将所有变量和常量都移到等式左边,得到aX^2+bX+c=0,在用公式做 #include "stdio.h" #include "math.h" #include "string" #include "iostream" #include "algorithm" using namespace 展开全文
头像 小小小松
发表于 2025-02-14 15:36:21
人麻了,思路很简单清晰,但写起来 代码问题一堆。思路:等式输入进字符串中,根据+ = -这些符号把多项式等式拆分成每个多项式项,例如 2x^2, 3x ,-4 。然后对这些项计算二次项系数a,一次项系数b,常数项系数c,利用求根公式得到结果。但实际在拆分的时候边界条件还是非常麻烦,但最后求出a,b, 展开全文
头像 溱桦
发表于 2026-01-21 20:58:18
题目没说清测试用例是否会退化为一次方程,把无穷解的情况归类为无解了;(你也不告诉我最大字符串的长度,人家北大就告诉);思路:1)利用符号('-''+''=''\0')分段读取,把字符串解析为数值;2)左右双指针取段,r从1开始即可解决负数开头的情况;3)利用flag控制正负,减少代码量,没别的代码少 展开全文
头像 雨水磁浮
发表于 2025-02-17 15:17:14
我们显然知道一个一元二次方程可以表示为一般等式;其对应有解特别地,若,则方程无实根(也就是题中要求输出的No Solution)。但是从题目样例就可以看出本题的输入并不一定是一般式;可能还会出现形如 的式子;因此,我们需要对这个等式进行预先的处理,将输入内容转化为一般式后再做运算;这是本题的难点。 展开全文
头像 VictorNotFound
发表于 2025-07-08 21:52:11
#include<bits/stdc++.h> using namespace std; int main() { string eq; while (cin >> eq) { int coef = 0; // 代表系数 i 展开全文
头像 程昱同学
发表于 2023-01-24 16:56:18
#include <bits/stdc++.h> using namespace std; //分别为二次项,一次项,常数项的系数 double a = 0, b = 0, c = 0; int pos = -1; //等号位置 int main() { string s; 展开全文

问题信息

难度:
55条回答 14247浏览

热门推荐

通过挑战的用户

查看代码
二次方程计算器