用C语言编写一个程序,计算一元二次方程的解(x1,x2)。一元二次方程:Ax2+Bx+C=0 (假设A=4,B=6,C=1)

来自:    更新日期:早些时候
怎样用C语言编一个解一元二次方程的程序?~

这个只能计算已经化简成aX^2+bX+c=0的一元二次方程

int fun(double a,double b,double c,double *x1,double *x2)//由于方程既可能无解也可能有两个解,所以不能直接返回X的值{ double p=b*b-4*a*c;//计算Δ if (p<0) { return 0;//方程无解,返回0 } p=√p//求Δ的平方根 *x1=……//用求根公式计算X1 *x2=……//用求根公式计算X2 return 1;//方程有解,返回1}
就这些了,求根公式和求平方根函数我忘了,你自己查一下。头文件要加一个。

步骤:
打开visual C++ 6.0-文件-新建-文件-C++ Source File
2.
定义变量:
#include
#include
void main()
{
double a,b,c; /*定义系数变量*/
double x1,x2,p; /*定义根变量和表达式的变量值*/

3.输入系数:
printf("请输入a,b,c:"); /*提示用户输入三个系数*/
scanf("%lf%lf%lf",&a,&b,&c); /*接收用户输入的系数*/

4.输出回车:
printf("
"); /*输出回行*/

5.
计算根:
p=b*b-4*a*c; /*给表达式赋值*/
x1=(-b+sqrt(p))/(2*a); /*根1的值*/
x2=(-b-sqrt(p))/(2*a); /*跟2的值*/

6.
输出结果:
printf("x1=%f,x2=%f
",x1,x2); /*输出两个根的值*/

完整的源代码:
#include
#include
void main()
{
double a,b,c; /*定义系数变量*/
double x1,x2,p; /*定义根变量和表达式的变量值*/
printf("请输入a,b,c:"); /*提示用户输入三个系数*/
scanf("%lf%lf%lf",&a,&b,&c); /*接收用户输入的系数*/
printf("
"); /*输出回行*/
p=b*b-4*a*c; /*给表达式赋值*/
x1=(-b+sqrt(p))/(2*a); /*根1的值*/
x2=(-b-sqrt(p))/(2*a); /*跟2的值*/
printf("x1=%f,x2=%f
",x1,x2); /*输出两个根的值*/
}

按顺序输入a,b,c

#include "stdio.h"
#include "stdlib.h"
#include "math.h"
int main(){
float a,b,c;
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&c);
printf("%f\n",(-b+sqrt(b*b-4*a*c))/2/a);
printf("%f",(-b-sqrt(b*b-4*a*c))/2/a);
system("pause");
return 0;
};

#include <iostream>
#include <cmath>
using namespace std;

int main()
{
float a = 1,b = 0, c= 0;
cout<<"a:";
cin>>a;
cout<<"b:";
cin>>b;
cout<<"c:";
cin>>c;
if(a==0)
return 0;
float x1,x2 = 0;
float i;
i = b*b-4*a*c;
if(i<0)
{
cout<<"方程无实根!"<<endl;
return 0;
}
if(i==0)
{
x1 = x2 = (-b)/(2*a);
cout<<"方程有两个相等实数根:"<<endl;
}
if(i>0)
{
x1 = (-b+sqrt(i))/(2*a);
x2 = (-b-sqrt(i))/(2*a);
cout<<"方程有两个不相等实数根:"<<endl;
}
cout <<"X1 = "<<x1<<"\tX2 = "<<x2<<endl;
return 0;
}

void Findroot::FindRoot()
{ d=b*b-4*a*c;
if (a==0)
cout<<"输入错误,a不能为0"<<endl;
else if(d>=0)
{

if(d>0)
{
cout<<"方程有两个不相等的实数解"<<endl;
x1=((-b)+sqrt(d))/(2*a);
x2=((-b)-sqrt(d))/(2*a);
cout<<"x1="<<x1<<endl;
cout<<"x2="<<x2<<endl;
}
else if(d==0)
{
cout<<"方程有两个相等的实数解"<<endl;
x1=x2=(-b)/(2*a);
cout<<"x1=x2="<<x1<<endl;
}
}
else if(d<0)
{
cout<<"方程有两个不相等的虚数解"<<endl;
x1=(-b)/(2*a);
x2=sqrt(-d)/(2*a);
cout<<"x"<<x1+x2<<"+"<<x1-x2<<"i"<<endl;
}
}


用C语言编写一个程序,计算一元二次方程的解(x1,x2)。一元二次方程:Ax2+Bx+C=0 (假设A=4,B=6,C=1)视频

相关评论:
  • 17047894779编写c语言程序输入一个整数计算1+1\/2+1\/3+…+1\/m,并输出计算结果?
    元邢怡整数相除,结果为整数 因此需要 强制转换类型 截图 注意 (float)就是

  • 17047894779用C语言做一个计算器,能实现加减乘除混合运算?
    元邢怡是的,可以使用C语言编写一个计算器程序,能够实现加、减、乘、除等混合运算。下面是一个简单的示例程序:```c include <stdio.h> int main() { char operator;double num1, num2, result;printf("Enter an operator (+, -, *, \/): ");scanf("%c", &operator);printf("Enter two ...

  • 17047894779用c语言编写程序,要求输入一个数,求1到这个数的和
    元邢怡main(){ int i ,j,s=0;printf(“请输入一个数字:”)scanf(“%d”,&i);j=i ;while(j--)s+=j ;printf(“1到%d的和是:%d”,i ,h );}

  • 17047894779用C语言编写一段程序,求一个一元一次方程
    元邢怡include<stdio.h> include<math.h> define step 0.000001 define pi 3.14159265 int main(){ double x= 0;for(x= step ; x<2*pi; x+= step)if( fabs(sin(77.8*x)\/sin(79.8*x)-0.9197) <= 0.000001 )printf("%lf\\n", x);return 0;} ...

  • 17047894779如何用C语言编写一个计算器程序?
    元邢怡2.写出主函数void main(){},在函数内添加如下代码:\/\/定义变量 int minusNumber=-10; int plusNumber=0; \/\/转换成正数 plusNumber=abs(minusNumber); \/\/输出结果 printf("转换前:%d\\n",minusNumber); printf("转换后:%d\\n",plusNumber);3.点击红叹号调试。程序清单:include "stdafx.h"#...

  • 17047894779C语言编写一个程序求解一元二次方程ax2+bx+c=0的根。要求系数a,b,c从...
    元邢怡include <stdio.h>#include <math.h>int main(){ float a, b, c, jud; printf ("输入二次方程的三个系数(第一个不能为0):"); scanf ("%f %f %f", &a, &b, &c); jud = b * b - 4 * a * c; \/\/根的判别式 if (jud > 0) { printf ("该方程...

  • 17047894779如何用c#编写一个程序计算数组中每个数的和。
    元邢怡include<stdio.h> int main(){ int a[10],sum,i;for(i=0;i<10;i++){ scanf("%d",&a[i]);sum+=a[i];} printf("这10个数的和为%d",sum);return 0;}

  • 17047894779C语言题目,编写一个程序,计算公式:y=1+1\/2*2+1\/3*3+1\/4*4+1\/n×n?
    元邢怡题目应该是y=1+1\/2*2+1\/3*3+1\/4*4+……+1\/n×n吧?这个其实好简单的啊。代码如下:include<stdio.h> int main(){ int x;int n;double y=0.00;printf("请输入数值n:");gets(n);for(x=1;x<n;x++){y=y+1\/x*x;} printf("当n=%d时,1+1\/2*2+1\/3*3+1\/4*4+…...

  • 17047894779编写1个C语言程序,计算自己学号中各位数字之和,打印出结果?
    元邢怡include<stdio.h> int main(){ intn,a[11],k=0,sum=0;scanf("%d",&n);while(n){ a[k++]=n%10;\/\/将各个位上的数提取出来,储存在a数值中;n\/=10;} for(int i=k-1;i>=0;i--){ printf("%d ",a[i]);sum+=a[i];} printf("\\n");printf("%d",sum);return 0;} ...

  • 17047894779...其中n的值由主调函数传入,并返回计算结果(要完整的C语言程序...
    元邢怡include "stdio.h"int sum(int n);main(){ int i,n,s = 0;printf("Input n:");scanf("%d",&n);printf("%d\\n",sum(n));\/\/修改 } int sum(int n){ int i,s=0;for (i = 1; i <= n; i++){ if (i % 2)\/\/奇数为正 s += i;else s -= i;} return s;} ...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网