gpt4 book ai didi

c++ - 求二次方程 x 值的程序

转载 作者:太空宇宙 更新时间:2023-11-04 14:37:19 25 4
gpt4 key购买 nike

给定a=1、b=5和c=6的值,x的值应该是-2和-3,但是下面的程序给出x的值是6和-11,它们是不正确。如果有人能找出程序的问题,我将不胜感激。

#include<iostream.h>
#include<conio.h>

int main()
{
char reply;
int a,b,c,q,z;

do
{
cout<<"Enter the value of a: ";
cin>>a;
cout<<"\nEnter the value of b: ";
cin>>b;
cout<<"\nEnter the value of c: ";
cin>>c;

q=(-b-(b*b-4*a*c)sqrt(b))/2/a;

z=(-b+(b*b-4*a*c)sqrt(b))/2/a;

cout<<"\nThe values of x are "<<q<<" and "<<z;
cout<<"\nDo you want to find another values of x(y/n)?";
cin>>reply;
}
while(reply=='y');

getch();
return 0;
}

最佳答案

^符号实际上是 bitwise XOR运算符,不是幂运算符或指数运算符,所以 b^2实际上是 b xor 2 .尝试 b*b相反。

如果您需要将底数提高到 2 以外的幂指数,您将需要使用 pow功能。

并使用 sqrt函数(在 <math.h> 中)计算平方根而不是将数字提高到 1/2 的幂。

此外,a/b*c被解析为 (a/b)*c , 所以你需要括号:

   (...)/(2*a);

或者进行二次划分:

   (...)/2/a;

关于c++ - 求二次方程 x 值的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8552744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com