早教吧作业答案频道 -->其他-->
编写程序,求一元二次方程ax2+bx+c=0的根(保留2位小数).系数a、b、c为浮点数,其值在运行时由键盘输入.运行结果(运行6次,□表示空格,↙表示回车)输入一元二次方程的系数a,b,c:0□0□0
题目详情
编写程序,求一元二次方程ax2+bx+c=0的根(保留2位小数).系数a、b、c为浮点数,其值在运行时由键盘输入.
【运行结果】(运行6次,□表示空格,↙表示回车)
输入一元二次方程的系数a,b,c:0□0□0↙
方程无穷解!
输入一元二次方程的系数a,b,c:0□0□1↙
输入一元二次方程的系数a,b,c:0□2□1↙
方程有一个根:x=-0.50
输入一元二次方程的系数a,b,c:1□2□1↙
方程有两个相同实根:x1=x2=-1.00
输入一元二次方程的系数a,b,c:2.1□8.9□3.5↙
方程有两个不同实根:x1=-0.44□x2=-3.80
输入一元二次方程的系数a,b,c:2□2□1↙
方程有两个不同虚根:x1=-0.50+0.50i□x2=-0.50-0.50i
我写的程序是:
#include
#include
int main (void){
double a,b,c,d;
d=b*b-4*a*c;
printf("输入一元二次方程的系数a,b,c:");
scanf("%lf %lf %lf",&a,&b,&c);
if(a==0&&b==0&&c==0)
printf("方程无穷解!\n");
else if(a==0&&b==0&&c!=0)
printf("方程无解!\n");
else if(a==0&&b!=0&&c!=0)
printf("方程有一个根:x=%.2f\n",-c/b);
else if(a!=0&&d==0)
printf("方程有两个相同实根:x1=x2=%.2f\n",-b/(2*a));
else if(a!=0&&d>0)
printf("方程有两个不同实根:x1=%.2f x2=%.2f\n",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
else if(a!=0&&d
【运行结果】(运行6次,□表示空格,↙表示回车)
输入一元二次方程的系数a,b,c:0□0□0↙
方程无穷解!
输入一元二次方程的系数a,b,c:0□0□1↙
输入一元二次方程的系数a,b,c:0□2□1↙
方程有一个根:x=-0.50
输入一元二次方程的系数a,b,c:1□2□1↙
方程有两个相同实根:x1=x2=-1.00
输入一元二次方程的系数a,b,c:2.1□8.9□3.5↙
方程有两个不同实根:x1=-0.44□x2=-3.80
输入一元二次方程的系数a,b,c:2□2□1↙
方程有两个不同虚根:x1=-0.50+0.50i□x2=-0.50-0.50i
我写的程序是:
#include
#include
int main (void){
double a,b,c,d;
d=b*b-4*a*c;
printf("输入一元二次方程的系数a,b,c:");
scanf("%lf %lf %lf",&a,&b,&c);
if(a==0&&b==0&&c==0)
printf("方程无穷解!\n");
else if(a==0&&b==0&&c!=0)
printf("方程无解!\n");
else if(a==0&&b!=0&&c!=0)
printf("方程有一个根:x=%.2f\n",-c/b);
else if(a!=0&&d==0)
printf("方程有两个相同实根:x1=x2=%.2f\n",-b/(2*a));
else if(a!=0&&d>0)
printf("方程有两个不同实根:x1=%.2f x2=%.2f\n",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
else if(a!=0&&d
▼优质解答
答案和解析
首先是d=b*b-4*a*c;要放在输入后面!
printf("方程有两个不同虚根:x1=%.2f x2=%.2f\n",(-b+sqrt(-d)*i)/(2*a),(-b-sqrt(-d)*i)/(2*a);
感觉这个会出错,输出结果:“方程有两个不同虚根:x1=··· x2=···”应该不会有i,i会变成未定义
试试这样prinf("方程有两个不同虚根:x1:%.2f+%.2fi x2:%.2f+%.2fi",
-b/(2*a),sqrt(-d)/(2*a),b/(2*a),-sqrt(-d)/(2*a));需要加括号的加上
printf("方程有两个不同虚根:x1=%.2f x2=%.2f\n",(-b+sqrt(-d)*i)/(2*a),(-b-sqrt(-d)*i)/(2*a);
感觉这个会出错,输出结果:“方程有两个不同虚根:x1=··· x2=···”应该不会有i,i会变成未定义
试试这样prinf("方程有两个不同虚根:x1:%.2f+%.2fi x2:%.2f+%.2fi",
-b/(2*a),sqrt(-d)/(2*a),b/(2*a),-sqrt(-d)/(2*a));需要加括号的加上
看了编写程序,求一元二次方程ax2...的网友还看了以下:
初中2次函数2次函数y=ax^2+bx+c(a≠0)的图象经过点(-1,2),且与x轴交点的横坐标 2020-04-27 …
已知二次函数y=ax*2+bx+c的图像开口向上,图像经过点(-1,2)(1,0),且与y轴交于负 2020-05-16 …
一些士兵排成一列横队,第一次从左到右1至4报数,第二次从右到左1至6报数,2次都报3的恰有5名如题 2020-05-19 …
英语翻译1从天然食用紫卷心菜中提取紫红色素,用水作为提取剂并对提取温度、时间及次数等工艺条件进了研 2020-06-26 …
一个周期电流变化次数除以周期为什么不等于频率是一个正弦函数的图像从0-0.02s是一个周期频率是5 2020-07-05 …
规定正整数n的“H运算”是:①当n为奇数时,H=3n+13;②当n为偶数时,H=n*1/2*1/2 2020-07-19 …
怎么解带未知数2次方的分数如(4-a方)/(2-四分之一a方)可否把分母的未知数化简掉从而变成一个 2020-08-01 …
规定正整数N的“H运算”是:N奇数时H=3N+13;当N是偶数时H=N*1/2*1/2*1/2.1/ 2020-12-01 …
1.有3个自然数,他们的乘积是2002,他们和的最小值是多少2.若干个自然数相乘,积中最后25位都是 2020-12-06 …
关于数学算法,总结公式1.用1和2组和成2≤x≤8的所有数组列出公式得出结果2.第1次100+100 2020-12-24 …