《C语言及程序设计》实践参考——一元二次方程全解
2015-02-23 21:22
399 查看
返回:贺老师课程教学链接 项目要求
【项目3:一元二次方程全解】(x^2代表x的平方)
有一方程ax^2+bx+c=0,a,b,c的值由键盘输入,请编程序,打印出以下情况时方程的解。
(1) a=0,b≠0时, 解为-c/b
(2) a=0,b=0,c=0, 解为任意值
(3) a=0,b=0,c≠0, 无解
(4) a≠0,b^2-4ac≥0, 有两个实根
(5) a≠0,b^2-4ac≤0, 有两个虚根
[参考解答]
【项目3:一元二次方程全解】(x^2代表x的平方)
有一方程ax^2+bx+c=0,a,b,c的值由键盘输入,请编程序,打印出以下情况时方程的解。
(1) a=0,b≠0时, 解为-c/b
(2) a=0,b=0,c=0, 解为任意值
(3) a=0,b=0,c≠0, 无解
(4) a≠0,b^2-4ac≥0, 有两个实根
(5) a≠0,b^2-4ac≤0, 有两个虚根
[参考解答]
#include <stdio.h> #include <math.h> int main ( ) { float a,b,c,d,pr,pi,x1,x2; scanf("%f %f %f",&a,&b,&c); printf("a=%f,b=%f,c=%f\n",a,b,c); if(a==0) { if(b!=0) printf("only one solution x=%f\n", -c/b); else if(c!=0) printf("no solution\n"); else printf("x is any value\n"); } else { d=b*b-4*a*c; if(d>=0) { x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf("x1=%6.2f, x2=%6.2f\n",x1,x2); } else { pr=-b/(2*a); pi=sqrt(-d)/(2*a); printf("x1=%6.2f +%6.2fi\n",pr,pi); printf("x2=%6.2f -%6.2fi\n",pr,pi); } } return 0; }
相关文章推荐
- 《C语言及程序设计》实践参考——血型统计
- 《C语言及程序设计》实践参考——能对齐的数据
- 《C语言及程序设计》实践参考——位乘大于位和
- 《C语言及程序设计》实践参考——完数
- 《C语言及程序设计》实践参考——随便改
- 《C语言及程序设计》实践参考——求解分段函数的值
- 《C语言及程序设计》实践参考——学生成绩处理
- 《C语言及程序设计》实践参考——链表的合并
- 《C语言及程序设计》实践参考——一副扑克牌
- 《C语言及程序设计》实践参考——双分支结构流程图-大值
- 《C语言及程序设计》实践参考——个人所得税计算器switch语句版
- 《C语言及程序设计》实践参考——简单循环的流程图
- 《C语言及程序设计》实践参考——输出小星星(之3)
- 《C语言及程序设计》实践参考——正差值
- 《C语言及程序设计》实践参考——求最大公约数
- 《C语言及程序设计》实践参考——点结构体
- 《C语言及程序设计》实践参考——拆分链表
- 《C语言及程序设计》实践参考——k次方之和
- 《C语言及程序设计》实践参考——发奖金
- 《C语言及程序设计》实践参考——分支嵌套流程图-三等级成绩