• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

1028:C语言程序设计教程(第三版)课后习题8.2

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

题目描述

求方程 的根,用三个函数分别求当b^2-4ac大于0、等于0、和小于0时的根,并输出结果。从主函数输入a、b、c的值。

输入

a b c

输出

x1=? x2=?

样例输入

4 1 1

样例输出

x1=-0.125+0.484i x2=-0.125-0.484i


 1 #include <stdio.h>
 2 #include <math.h>
 3 
 4 // delta = 0
 5 void delta_eq_0(int a, int b, int c)
 6 {
 7     float res = (float)(0 - b) / (2 * a);
 8     printf("x1=%.3f x2=%.3f\n", res, res);
 9 }
10 
11 // delta > 0
12 void delta_gt_0(int a, int b, int c)
13 {
14     int delta = b * b - 4 * a * c;
15     float res1, res2;
16     res1 = (-b+sqrt(delta)) / (2 * a);
17     res2 = (-b-sqrt(delta)) / (2 * a);
18     printf("x1=%.3f x2=%.3f\n", res1, res2);
19 }
20 
21 // delta < 0
22 void delta_lt_0(int a, int b, int c)
23 {
24     int delta = b * b - 4 * a * c;
25     float res1, res2;
26     res1 = (float)(0 - b) / (2 * a);
27     res2 = sqrt(abs(delta)) / (2 * a);
28     printf("x1=%.3f+%.3fi x2=%.3f-%.3fi\n", res1, res2, res1, res2);
29 }
30 
31 // 计算结果
32 void caculate(int a, int b, int c)
33 {
34     int delta = b * b - 4 * a * c;
35     
36     if(delta == 0)    
37         delta_eq_0(a, b, c);
38     else if(delta > 0)
39         delta_gt_0(a, b, c);
40     else        
41         delta_lt_0(a, b, c);
42 }
43 
44 
45 int main(int argc, char const *argv[])
46 {
47 
48     int a, b, c;
49     scanf("%d%d%d", &a, &b, &c);
50     caculate(a, b, c);
51     return 0;
52 }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
c#中public\protect\private\internal修饰符的区别发布时间:2022-07-13
下一篇:
c#MVC返回小驼峰Json(首字母小写)发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap