原题链接:[编程入门]自定义函数求一元二次方程
#include<stdio.h>
#include<math.h>
void solve1(double a,double b,double c)
{
printf("x1=%.3lf ",-b/(2*a));
printf("x2=%.3lf ",-b/(2*a));
printf("\n");
}
void solve2(double a,double b,double c)
{
printf("x1=%.3lf+%.3lfi ",-b/(2*a),sqrt(4*a*c-b*b)/(2*a));
printf("x2=%.3lf-%.3lfi",-b/(2*a),sqrt(4*a*c-b*b)/(2*a));
printf("\n");
}
void solve3(double a,double b,double c)
{
printf("x1=%.3lf ",(-b+sqrt(b*b-4*a*c))/(2*a));
printf("x2=%.3lf",(-b-sqrt(b*b-4*a*c))/(2*a));
printf("\n");
}
int main()
{
double a,b,c,d;
scanf("%lf%lf%lf",&a,&b,&c);
d=b*b-4*a*c;
if(d==0)
solve1(a,b,c);
if(d<0)
solve2(a,b,c);
if(d>0)
solve3(a,b,c);
return 0;
}0.0分
30 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
请大佬帮我看看哪里有问题,老是错。 #include <stdio.h> #include <math.h> int main() { double a,b,c,x1,x2,x; scanf("%lf %lf %lf",&a,&b,&c); x=b*b-4*a*c; if(x>0) { x1=(-b+sqrt(x))/(2*a); x2=(-b-sqrt(x))/(2*a); printf("x1=%.3lf x2=%.3lf",x1,x2); } else if(x==0) { x1=-b/(2*a); x2=x1; printf("x1=%.3lf x2=%.3lf",x1,x2); } else { x=sqrt(-x); printf("x1=%.3lf+%.3lf*i x2=%.3lf-%.3lf*i",-b/(2*a),x/(2*a),-b/(2*a),x/(2*a)); } return 0; }#include<stdio.h> #include<math.h> main() { double a,b,c,d; scanf("%lf %lf %lf",&a,&b,&c); d=b*b-4*a*c; if(d==0) { printf("x1=%.3lf ",-b/(2*a)); printf("x2=%.3lf\n",-b/(2*a)); } if(d<0) { printf("x1=%.3lf+%.3lfi ",-b/(2*a),sqrt(4*a*c-b*b)/(2*a)); printf("x2=%.3lf-%.3lfi\n",-b/(2*a),sqrt(4*a*c-b*b)/(2*a)); } if(d>0) { printf("x1=%.3lf ",(-b+sqrt(b*b-4*a*c))/(2*a)); printf("x2=%.3lf\n",(-b-sqrt(b*b-4*a*c))/(2*a)); } return 0; }一个函数调用 #include <stdio.h> #include "math.h" void root(double a,double b,double c); int main() { double a,b,c; scanf("%lf %lf %lf",&a,&b,&c); double r1,r2; root(a,b,c); return 0; } void root(double a,double b,double c) { double r1,r2; double t=b*b-4*a*c; if( t>0 ){ r1=(-b+sqrt(t))/2; r2=(-b-sqrt(t))/2; printf("r1=%.3f,r2=%.3f",r1,r2); }else if( t==0 ){ r1=-b/2; printf("r1=r2=%.3f",r1); }else { printf("r1=%.3f+%.3fi r2=%.3f%.3fi",-b/2,sqrt(-t)/2,-b/2,-sqrt(-t)/2); } }