首页后端开发其他后端知识c语言求根用三个函数 c语音求根

c语言求根用三个函数 c语音求根

时间2023-04-18 02:27:01发布访客分类其他后端知识浏览804
导读:用C语言求方程的根,用3个函数分别求当大于0、等于0和小于0时的根并输出结果。从主函数中输入abc的值。 给你重写一个你对照看——#include "stdio.h"#include "math.h"void zero(float a,fl...

用C语言求方程的根,用3个函数分别求当大于0、等于0和小于0时的根并输出结果。从主函数中输入abc的值。

给你重写一个你对照看——

#include "stdio.h"

#include "math.h"

void zero(float a,float b){

printf("x1 = %f\n",-b/2/a);

printf("x2 = %f\n",-b/2/a);

}

void one(float a,float b,float d){

printf("x1 = %f\n",(-b+d)/2/a);

printf("x2 = %f\n",(-b-d)/2/a);

}

void two(float a,float b,float d){

printf("x1 = %f%+fi\n",-b/2/a,d/2/a);

printf("x2 = %f%+fi\n",-b/2/a,-d/2/a);

}

int main(int argc,char *argv[]){

float a,b,c,dlt;

printf("Input a, b, c(R: all)...\n");

scanf("%f%f%f",a,b,c);

if((dlt=b*b-4*a*c)==0)

zero(a,b);

else if(dlt0){

one(a,b,sqrt(dlt));

}

else

two(a,b,sqrt(-dlt));

return 0;

}

运行样例:

有问题续问。

C语言 方程求根 用三个函数分别输出 abc的值从主函数输入

1.

楼主的x()和y()写的一样啊。

2.在x()和y()中的定义

int

x1,x2; 应该改为

double

x1,x2;

3.

楼主对b*b-4*a*c0如何处理?

4.scanf("%lf,%lf,%lf",a,b,c); 最好改为scanf("%lf%lf%lf",a,b,c);

建议改为下列,对于b*b-4*a*c0的情况输出提示

#includestdio.h

#includemath.h

float

d;

int

main()

{

void

x(double

x,double

y,double

z);

void

y(double

x,double

y,double

z);

double

a,b,c;

scanf("%lf%lf%lf",a,b,c);

d=b*b-4*a*c;

if(d1e-6)

x(a,b,c);

else

if(d0)

printf("没有实根\n");

else

y(a,b,c);

}

void

x(double

x,double

y,double

z)

{

double

x1,x2;

x1=(-y+sqrt(d))/(2*x);

x2=(-y-sqrt(d))/(2*x);

printf("%8.4f,%8.4f",x1,x2);

}

void

y(double

x,double

y,double

z)

{

double

x1,x2;

x1=x2=-y/(2*x);

printf("%8.4f,%8.4f",x1,x2);

}

C语言 方程求根 用三个函数分别输出 abc的值从主函数输入

1. 楼主的x()和y()写的一样啊。

2.在x()和y()中的定义 int x1,x2; 应该改为 double x1,x2;

3. 楼主对b*b-4*a*c0如何处理?

4.scanf("%lf,%lf,%lf",a,b,c); 最好改为scanf("%lf%lf%lf",a,b,c);

建议改为下列,对于b*b-4*a*c0的情况输出提示

#includestdio.h

#includemath.h

float d;

int main()

{ void x(double x,double y,double z);

void y(double x,double y,double z);

double a,b,c;

scanf("%lf%lf%lf",a,b,c);

d=b*b-4*a*c;

if(d1e-6)

x(a,b,c);

else if(d0)

printf("没有实根\n");

else

y(a,b,c);

}

void x(double x,double y,double z)

{

double x1,x2;

x1=(-y+sqrt(d))/(2*x);

x2=(-y-sqrt(d))/(2*x);

printf("%8.4f,%8.4f",x1,x2);

}

void y(double x,double y,double z)

{

double x1,x2;

x1=x2=-y/(2*x);

printf("%8.4f,%8.4f",x1,x2);

}

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: c语言求根用三个函数 c语音求根
本文地址: https://pptw.com/jishu/3605.html
c语言函数调用参数传递 c语言调用函数实参 c语言无理数主函数用什么 c语言主函数没有return 0

游客 回复需填写必要信息