zoukankan      html  css  js  c++  java
  • 1028: C语言程序设计教程(第三版)课后习题8.2

    题目描述

    求方程 的根,用三个函数分别求当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
    ", 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
    ", 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
    ", 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 }
  • 相关阅读:
    Java 堆和栈 垃圾回收 2015/9/16
    多态 Java 2015/9/16
    学校项目过程中知识点 Java 2015/9/15 晚
    Python print输出不换行
    Windows 加载EXT分区
    RouterOS 安全模式
    RouterOS Openswan l2tp ipsec
    RouterOS 自动邮件备份脚本
    python chnroutes ROS版
    Kinect 2.0&Speech 11 中文语音控制
  • 原文地址:https://www.cnblogs.com/hello-lijj/p/7851299.html
Copyright © 2011-2022 走看看