一个phper,笔试,面试,技术栈的总结

powerby flight phpms

成功,唯有积累,没有奇迹

关于我

瞧一瞧,看一看:

吴大叔,20已过半,30还未满,175cm的个子,65kg的体重,平淡的就像差不多先生,一个非主流的程序员,目前的理想是赚钱,得一灵魂伴侣,然后隐居山水之间,蹦野迪

友情链接

一切只是开始,我从未放弃过改变

C语言程序设计教程(第三版)课后习题8.2---求方程 的根,用三个函数分别求当b^2-4ac大于

时间:2019-03-10 15:10:44

题目描述

求方程 的根,用三个函数分别求当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

提示

 

第一种方法:由于oj采用黑箱测试,所以我们可以不用定义函数。

#include<stdio.h>
#include<math.h>

int main()
{
    double a,b,c,d,x1,x2,dr,xr,xv;
    //dr代表d的根,xr代表根的实数部分,xv代表根的虚数部分。
    scanf("%lf%lf%lf",&a,&b,&c);
    d=b*b-4*a*c;
    if(d>=0)
        dr=sqrt(d);
    else
        dr=sqrt(-d);
    if(d==0)
    {
        x1=x2=-b/(2*a);
        printf("x1=%.3lf x2=%.3lf",x1,x2);
    }
    else if(d>0)
    {
        x1=(-b+dr)/(2*a);
        x2=(-b-dr)/(2*a);
        printf("x1=%.3lf x2=%.3lf",x1,x2);
    }
    else
    {
        xr=-b/(2*a);
        xv=dr/(2*a);
        printf("x1=%.3lf+%.3lfi x2=%.3lf-%.3lfi",xr,xv,xr,xv);
    }
}

第二种方法:按照题目要求,定义三个函数。

#include<stdio.h>
#include<math.h>

double a,b,c,d,x1,x2,dr,xr,xv;//宏定义变量,在所有的方法中均能使用。dr代表d的根,xr代表根的实数部分,xv代表根的虚数部分。

int main()
{
    scanf("%lf%lf%lf",&a,&b,&c);
    d=b*b-4*a*c;
    double delta_is_greater_than_zero(double d);
    double delta_is_less_than_zero(double d);
    double delta_is_equal_to_zero(double d);
    if(d>0)
    {
        delta_is_greater_than_zero(d);
    }
    else if(d<0)
    {
        delta_is_less_than_zero(d);
    }
    else
    {
        delta_is_equal_to_zero(d);
    }
}
double delta_is_greater_than_zero(double d)
{
    dr=sqrt(d);
    x1=(-b+dr)/(2*a);
    x2=(-b-dr)/(2*a);
    printf("x1=%.3lf x2=%.3lf",x1,x2);
}
double delta_is_less_than_zero(double d)
{
    d=-d;
    dr=sqrt(d);
    xr=-b/(2*a);
    xv=dr/(2*a);
    printf("x1=%.3lf+%.3lfi x2=%.3lf-%.3lfi",xr,xv,xr,xv);
}
double delta_is_equal_to_zero(double d)
{
    dr=sqrt(d);
    x2=x1=(-b+dr)/(2*a);
    printf("x1=%.3lf x2=%.3lf",x1,x2);
}


用C语言编写:输入半径R,求圆的周长、面积和球的体积

by admin

# include<stdio.h>

void main()

{

float r,c,s;

printf("请输入圆的半径: ");

scanf("%f",&r);    /*用于输入一个浮点数据存放于地址&r*/

c=2*3.1415926*r;  /*计算周长,赋值给C*/

s=3.1415926*r*r;   /*用于计算面积*/

v=4/3*PI*r*r*r; /*用于计算体积*/

printf("周长c=%8.4f;\n面积s=
%8.4f;\n体积v=%8.4f",c,s,v);   /*周长,面积,体积都是8个字符宽,4位小数*/

}

by admin
 仅对管理员开放,支持markdown语法

有需要的,可以联系我 wuxiumu@163.com

Copyright © 2019. All rights reserved. 本站由 无朽木 纯手工打造