点赞(2)
 

0.0分

55 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 13 条评论

5148闻缘缘 6月前 回复TA
#include <stdlib.h>
#include <math.h>
#define EPS 1e-6
int main()
{
    float a,b,c,disc,p,q;
    scanf("%f %f %f",&a,&b,&c);
    disc=b*b-4*a*c;
    p=-b/(2*a);
    q=sqrt(fabs(disc))/(2*a);
    if(fabs(disc)<=EPS)
    {
        printf("x1=%.3f x2=%.3f ",p,p);
    }
    else
    {
        if(disc>EPS)
        {
          printf("x1=%.3f x2=%.3f",p+q,p-q);
        }
        else
        {
            printf("x1=%.3f+%.3fi x2=%.3f-%.3fi",p,q,p,q);
        }

    }
    return 0;
}
课本的例题
uq_89689520521 1年前 回复TA
?你函数呢?
编程帅哥 1年前 回复TA
@编程帅哥 判别式应该用EPS来判断更加规范
编程帅哥 1年前 回复TA
#include<stdio.h>
#include<math.h>
#define EPS 1e-6
void Num(float a,float b,float c);
int main()
{
	float a,b,c;
	scanf("%f%f%f",&a,&b,&c);
	Num(a,b,c);
	return 0;
}
//计算一元二次方程的根 
void Num(float a,float b,float c)
{
	float disc,p,q;     //disc为判别式
	disc=b*b-4*a*c;
	p=-b/(2*a);
	q=sqrt(fabs(disc))/(2*a);
	if(fabs(disc)<=EPS)      //判别式等于0,输出两个相等的实根
	{
		printf("x1=%.3f x2=%.3f",p,p);
	 } 
	else
	{
		if(disc>EPS)    //判别式大于0 
		{
			printf("x1=%.3f x2=%.3f",p+q,p-q);
		}
		else           //判别式小于0 
		{
			printf("x1=%.3f+%.3fi x2=%.3f-%.3fi",p,q,p,q);
		}
	}
}
dotcpp0709834 1年前 回复TA
#include <stdio.h>
#include <math.h>
double x1, x2;
void function(double a, double b, double c) {
	double data = b * b - 4 * a * c;
	if (data >= 0) {
		x1 = (-b + sqrt(data)) / 2 * a;
		x2 = (-b - sqrt(data)) / 2 * a;
		printf("x1=%.3lf x2=%.3lf", x1, x2);
	} else {
		printf("x1=%.3lf+%.3lfi ", -b / (2 * a), sqrt(-data) / (2 * a));
		printf("x2=%.3lf-%.3lfi", -b / (2 * a), sqrt(-data) / (2 * a));
	}
}
int main() {
	double a, b, c;
	scanf("%lf%lf%lf", &a, &b, &c);
	function(a, b, c);
	return 0;
}
黄小橘 1年前 回复TA
@黄小橘 float x1,x2,p,q; 	p=-b/2*a; 	q=sqrt(m-n)/2*a; 	x1=p-q; 	x2=p+q; 	printf("x1=%f
x2=%f",x1,x2); }
黄小橘 1年前 回复TA
#include <stdio.h>
#include <math.h>
void save1(int a);
void save2(int m,int n,int a,int b,int c);
void save3(int m,int n,int a,int b,int c);
int main()
{
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    float m,n,k;
    m=b*b;
    n=4*a*c;
    if((m-n)<0) save1(a);
    else
	{
    	if((m-n)==0) save2(m,n,a,b,c);
    	else
    	{
    		save3(m,n,a,b,c);
    	}
    }
    return 0;
}

void save1(int a)
{
	printf("无解"); 
}

void save2(int m,int n,int a,int b,int c)
{
	float x1,x2,p,q;
	p=-b/2*a;
	q=sqrt(m-n)/2*a;
	x1=x2=p+q;
	printf("x1=x2=%f",x1);
}

void save3(int m,int n,int a,int b,int c)
{
麦可馨 1年前 回复TA
审题有误,没有调用自定义函数
Saxon 1年前 回复TA
题解错误 是(2*a)不是2*a
江湖人 2年前 回复TA
@成电小徐 @dotcpp0599913 他这只有一个函数啊  题目要求三个函数