c语言程序设计

题目描述求ax^2+bx+c=0的根。分别考虑d=b^2-4ac大于零,等于零和小于零三种情况。a、b、c要求是浮点型。程序要对a、b、c的各种情况进行处理。如判断a是否... 题目描述
求ax^2+bx+c=0的根。分别考虑d=b^2-4ac大于零,等于零和小于零三种情况。
a、b、c要求是浮点型。程序要对a、b、c的各种情况进行处理。如判断a是否为0,b^2-4ac分别为大于0、小于0、等于0。
解答提示:
1)求一浮点数的平方根可以用库函数sqrt(x)。x要求是浮点数。如以下赋值语句:y=sqrt(x);表示求x的平方根,赋值给y。为了使用该函数,需要在main函数之前加上预处理语句:#include。
2)如何判断两个浮点数是否相等:
假设f1和f2是两个浮点数。若想写一个关系表达式,判断f1和f2是否相等,不能写成:if(f1==f2),而是要写成f1和f2的差的绝对值近似接近于0,如写成:if(fabs(f1-f2)<=1e-6)。其中1e-6表示10的-6次方,fabs函数用于求绝对值。原因:浮点数在内存中是以近似值存储的,所以不能执行是否相等的比较。
输入与输出要求:
输入3个浮点数,代表a,b,c。输出对应方程的根:
当该方程非一元二次方程时,输出“The equation is not quadratic.”。
当该一元二次方程有两个相等的实数根时,输出“The equation has two equal roots: xx.”。
当该一元二次方程有两个不相等的实数根时,输出“The equation has two distinct real roots: x1 and x2.”。
当该一元二次方程有两个不相等的虚数根时,输出“The equation has two complex roots: x1 and x2.”。
所有的实数均保留4位有效数字。
注意:1、运算中用到的所有数据要求用float型存储。
2、当有两个不同的根时,解为实数时先输出大的那个根,解为复数时先输出虚部为正的那个根。

输入样例
Sample1:
0 3 9

Sample2:
1.0 -6.0 9.0

Sample3:
2.1 -9 8

Sample4:
3.5 3.6 8.0
输出样例
Sample1:
The equation is not quadratic.

Sample2:
The equation has two equal roots: 3.0000.

Sample3:
The equation has two distinct real roots: 3.0273 and 1.2584.

Sample4:
The equation has two complex roots: -0.5143+1.4217i and -0.5143-1.4217i.
提交题目
展开
 我来答
White_MouseYBZ
2018-10-22 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6653万
展开全部
#include "stdio.h"
#include "math.h"
int main(int argc,char *argv[]){
float a,b,c,d;
printf("Please enter a, b, c(R:)...\n");
scanf("%f%f%f",&a,&b,&c);
if(a){
if((d=b*b-4*a*c)-0.0>1.0E-6){
printf("The equation has two distinct real roots: ");
d=(float)sqrt(d);
printf("%.4f and %.4f\n",(-b+d)/2/a,(-b-d)/2/a);
}
else if(0.0-d>1.0E-6){
printf("The equation has two complex roots: ");
d=(float)sqrt(-d);
printf("%.4f+%.4fi and %.4f-%.4fi\n",-b/2/a,d/a/2,-b/2/a,d/a/2);
}
else if(fabs(d-0.0)<=1.0E-6)
printf("The equation has two equal roots: %.4f\n",-b/2/a);
}
else
printf("The equation is not quadratic.\n");
return 0;
}

运行样例:

百度网友79dcca8
2018-10-22
知道答主
回答量:10
采纳率:0%
帮助的人:2.1万
展开全部
可以去博客CSDN查,里边我们遇到的编程问题差不多都可以找到,很好的一个学编程的地方,我也才刚学C没多久,大一新生一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科
2021-04-30 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.2亿
展开全部

一分钟读懂.c语言程序设计

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式