Manchester


私信TA

用户名:wenyajie

访问量:331901

签 名:

在历史前进的逻辑中前进,这个逻辑就是人心向背的逻辑

等  级
排  名 1
经  验 65524
参赛次数 1
文章发表 188
年  龄 0
在职情况 学生
学  校 Xiamen University
专  业 计算机科学

  自我简介:

在历史前进的逻辑中前进,这个逻辑就是人心向背的逻辑

解题思路:
输入a,b,c以文件结束符结束;

根据题目输出形式,先输出(-b+sqrt(pow(b,2)-4*a*c))/2*a; 再输出( -b-sqrt(pow(b,2)-4*a*c))/2*a;

这道题不用考虑解为复数的情况比较简单


注意事项:
1):输出两位小数,空格隔开,最后换行符;

2):即使是x1==x2也要输出两个;

3):x1=(-b+sqrt(pow(b,2)-4*a*c))/(2*a);
        x2=(-b-sqrt(pow(b,2)-4*a*c))/(2*a);

要是除以(2*a)才正确,或者/2/a;

写为/2*a提交也正确,但实际不合理,不科学;

参考代码:

#include<stdio.h>
#include<math.h>
void function(double a,double b,double c);
/*------------------------------------------------*/

int main()
{
  double a,b,c;
  while(scanf("%lf%lf%lf",&a,&b,&c)!=EOF)
  {
    function(a,b,c);
  }
  return 0;
}

/*------------------------------------------------*/
void function(double a,double b,double c)
{
  double x1,x2;

   if(pow(b,2)-4*a*c>0)
       {x1=(-b+sqrt(pow(b,2)-4*a*c))/(2*a);
        x2=(-b-sqrt(pow(b,2)-4*a*c))/(2*a);
       }

       if(pow(b,2)-4*a*c==0)
         {x1=(-b)/(2*a);x2=x1;}

         printf("%.2f %.2f\n",x1,x2);
}

别忘点赞哦-.-

 

0.0分

37 人评分

  评论区

#include  <stdio.h>
#include  <math.h>
int  main(void)
{

        int a,b,c;
        scanf("%d %d %d",&a,&b,&c);
        float k;
        k=sqrt(b*b-4*a*c);
        float x1,x2;
        x1=(-b+k)/2.0*a;
        x2=(-b-k)/2.0*a;
        printf("%.2lf %.2lf",x1,x2);



        return  0;
}
2023-12-06 11:19:14
#include<stdio.h>
#include<math.h>
int main()
{
	double a,b,c,x1,x2;
	scanf("%lf%lf%lf",&a,&b,&c);
	x1=(-b+pow(b*b-4*a*c,0.5))/2*a;
	x2=(-b-pow(b*b-4*a*c,0.5))/2*a;
	printf("%.2lf %.2lf",x1,x2);
	return 0;
}
2021-11-24 22:44:17
#include <stdio.h>
#include <math.h>
int main()
{
	int i,j,k;
	float x1,x2;
	float detax;
	scanf("%d%d%d",&i,&j,&k);
	detax = sqrt((double)j*j-4*i*k);
	x1 = ((-j)+detax)/2*i;
	x2 = ((-j)-detax)/2*i;
	if(x1>x2)
	printf("%.2f %.2f",x1,x2);
	else
	printf("%.2f %.2f",x2,x1);
	return 0;
 }
2021-02-07 13:11:16
#include<stdio.h>
#include<math.h>
int main()
{
	int a = 0, b = 0, c = 0;
	double x1 = 0, x2 = 0;
	scanf("%d%d%d",&a,&b,&c);
	if (a > 0 && (b * b - 4 * a * c) >= 0)
	{
		x1 = (-b - sqrt(pow(b,2) - 4.0 * a * c)) / (2.0 * a);
		x2 = (-b + sqrt(pow(b,2) - 4.0 * a * c)) / (2.0 * a);
		printf("%.2lf\t%.2lf",x2,x1);
	}
	else
		printf("错误");
}
2020-02-10 12:18:33
(-b+sqrt(pow(b,2)-4*a*c))/2*a 不应该是/2/a么?
2018-05-23 10:29:35
  • «
  • 1
  • »