Manchester


私信TA

用户名:wenyajie

访问量:159266

签 名:

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

等  级
排  名 1
经  验 37775
参赛次数 1
文章发表 188
年  龄 0
在职情况 学生
学  校 Qing Dao 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分

10 人评分

  评论区

#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
  • »