用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语言怎么编写一个从1加到10的程序...新手求解
include <stdio.h> void main(){ int n;int sum=0; \/\/初始sum变量值为0;for(n=1;n<=10;n++){ sum=sum+n; \/\/从一加到10;} printf("1+2+...+10=%d",sum);}

编写一个程序,找出1-100中的所有素数,并按5个一行输出。c语言_百度...
include<stdio.h>#include<math.h>int main(){int a;scanf_s("%d", &a);\/\/输入要求的数字大小int num, i, b, flag = 0;for ( b = 2; b <= a; b++){num = sqrt(b);for ( i = 2; i <= num; i++){if (b % i == 0)break;}if (i > num){printf("%d\\t",...

c语言如何实现一个程序循环执行n次
在C语言中,可以使用for循环或while循环来实现一个程序循环执行n次。以下是两种方法的示例:使用for循环:首先定义一个整型变量i,用于计数。然后使用for循环,循环n次。每次循环中,i都会增加1。在循环体中,编写需要重复执行的代码。示例代码如下:使用while循环:首先定义一个整型变量i,用于计数。然后...

用C语言编写一个简单程序,有哪些步骤,可以举一个例子详细讲解下吗?_百 ...
\/\/接下来需要写一个main函数,这也是c语言程序里必不可少的一个函数,叫主函数,他是整个程序的入口函数,程序所有的功能实现都要在这个函数中体现。但是这个函数有且仅有一个 int main(){ \/\/这是main函数的函数体,要实现什么功能,就把实现功能的语句写到这里面 \/\/比如我要实现打印HelloWorld字符...

如何用c语言写一个程序输入班级学号的内容?
下面是一个用C语言编写的程序,可以输入班级和学号的内容,并打印出来:c include <stdio.h> int main() { char class[20]; \/\/ 定义班级字符串,长度为20 int number; \/\/ 定义学号整数 printf("请输入班级:");scanf("%s", class); \/\/ 输入班级字符串 printf("请输入学号:");scanf("%d...

用C语言编写一个输出图形的小程序。
法1:include <stdio.h> include<conio.h> void main(){ int i,j;for(i=0;i<4;i++){ for(j=1;j<4-i;j++)printf(" ");for(j=4-i;j<=4+i;j++)printf("*");printf("\\n");} for(i=4;i<7;i++){ for(j=0;j<i-3;j++)printf(" ");for(j=i-3;j<=9-i;j...

c语言简单程序编写?
include<stdio.h> int main(){ double num1, num2, result, re;char sign, euq;printf("Enter an expression: ");while(scanf("%lf%c%lf%c%lf", &num1,&sign,&num2,&euq,&result) == 5){ switch(sign){ case '+':re = num1 + num2;break;case '-':re = num1 - num...

简述开发一个c语言程序的步骤是什么样的?
3 链接。将目标文件链接成可执行文件。此步会对文件直接的关联进行检查。如果出错需要返回到1修改代码。直到没有错误。4 运行。这个是最后一步,也是C语言的最终目的。5 在运行结果与期望不符时,需要检查原因,修改代码,重新执行一二三直到程序没有问题。(1)语言简洁、紧凑灵活。二十八个关键字、九种...

如何用C语言编写一个简单的程序!
打印,输出运行。05 输出的效果就是这样了,一个简单的c语言程序就写好了 特别提示 所有的输入都要在英文半角的情况下输入,不然程序会不能识别,会报错。

用c语言编写一个程序,从键盘上输入两个字符给字符变量a,b,并输出变...
程序代码如下:include <stdio.h> \/\/编译预处理命令 int main(int argc, char *argv[]) \/\/主函数,字符的声明 { char a,b; \/\/定义字符a,b scanf("%c %c",&a,&b); \/\/输入字符a,b printf("%c %c\\n",a,b);\/\/打印字符a,b return 0; \/\/返回并且输出a,b } 扩展...

五华县13464943210: 用C语言编写一程序求解一元二次方程的根. -
娄何复方: #include<stdio.h> #include<math.h> void m(float a,float b,float c) {double x1,x2;x1=(-b+sqrt(b*b-4*a*c))/(2*a);x2=(-b-sqrt(b*b-4*a*c))/(2*a);printf("方程的根是%.2lf和%.2lf",x1,x2); } void n(float a,float b,float c) {double x;x=(-b)/(2*a);printf...

五华县13464943210: c语言编写一元2次方程. -
娄何复方: 这是我做的#include<stdio.h>#include<math.h> void main() //主函数 { float a,b,c,delta,x,x1,x2,realpart,imagpart; //定义a,b,c,delta,x,x1,x2,x3为浮点型 scanf("%f,%f,%f",&a,&b,&c); //输入二次方程系数a,b,c的值 delta=b*b-4*a*c; if(fabs(a)>=1e-...

五华县13464943210: 用C语言写下面程序输一元二次方程 -
娄何复方: #include #include int main() { float a,b,c,x1,x2,delta;printf("请输入一元二次方程的系数:\n");scanf("%f%f%f",&a,&b,&c);delta=b*b-4*a*c;if(delta>0) //方程有两个解{ x1=(-b+sqrt(delta))/2*a;x2=(-b-sqrt(delta))/2*a;printf("...

五华县13464943210: 编写一个C语言函数,使其能求出一元二次方程的解. -
娄何复方: #include void s(int a,int b,int c){ int delta=b*b-4*a*c; if(delta<0) printf("此方程无解!\n"); else { printf("X1=%f\n",(-b+sqrt((double)delta))/(2*a)); printf("X2=%f\n",(-b-sqrt((double)delta))/(2*a)); }}

五华县13464943210: 用C语言编写程序实现一元二次方程的解? -
娄何复方: #include <math.h> main() {int z=0;while(z==0){float a,b,c,disc,x1,x2;printf("input a,b,c:");scanf("%f,%f,%f",&a,&b,&c);disc=b*b-4*a*c;if(disc>=0)z=1;}x1=(-b+sqrt(disc))/(2*a);x2=(-b-sqrt(disc))/(2*a);printf("\nx1=%6.2f x2=%6.2f\n",x1,x2); } 我高数学的不好,当b*b-4*a*c<0时的解我不会求~~~~只能让重输..

五华县13464943210: 求一个C语言写的一元二次方程 -
娄何复方: #include #include int main(void) {int a, b, c; //定义一元二次方程的三个数值;printf("请依次输入一元二次方程的三个参数a b c,中间以空格隔开\n");scanf("%d %d %d", &a, &b, &c); //依次输入一元二次方程的三个参数...

五华县13464943210: 哪位大爷帮我解决几个简单C语言程序题?感谢万分!用C语言编写一个程序用来求一元二次方程(ax2+bx+c=0)的解.编写一个函数求一元二次方程的解,... -
娄何复方:[答案] #include void main() {float solut(float a,float b,float c); float a, b,c; printf("input a,b,c"); scanf("%f ,%f, %f",&a,&b,&c); printf("x=%10.2f\n",solut(a,b,c)); } float solut(float a,float b,float c) { float x=1.5,x0,f,f1; do { x0=x; f=(a*x0+b)*x0+c; f1=2*a*x0+b; x=x0...

五华县13464943210: 请用C语言编写下面这个一元二次方程 -
娄何复方: vc6.0下可以编译通过,你试试: #include <stdio.h> #include <math.h> main() {int i=0;float coeff[3],sum,temp;printf("Ax*x+Bx+C=sum\n");do{printf("Input the %c value: ",i+65);scanf("%f",&coeff[i]);}while(++i<3);printf("Input the sum ...

五华县13464943210: 如何用C语言编写一程序求解一元二次方程的根? -
娄何复方: C语言编写一程序求解一元二次方程的根: #include<stdio.h> #include<math.h> void m(float a,float b,float c) { double x1,x2; x1=(-b+sqrt(b*b-4*a*c))/(2*a); x2=(-b-sqrt(b*b-4*a*c))/(2*a); printf("方程的根是%.2lf和%.2lf",x1,x2); } void n(float a,float ...

五华县13464943210: 用C语言编写一个程序,计算一元二次方程的解(x1,x2).一元二次方程:Ax2+Bx+C=0 (假设A=4,B=6,C=1) -
娄何复方: 按顺序输入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; };

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网