用C语言编写一个程序,计算一元二次方程的解(x1,x2)。一元二次方程:Ax2+Bx+C=0 (假设A=4,B=6,C=1)
这个只能计算已经化简成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); /*输出两个根的值*/
}
#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)视频
相关评论:
元邢怡整数相除,结果为整数 因此需要 强制转换类型 截图 注意 (float)就是
元邢怡是的,可以使用C语言编写一个计算器程序,能够实现加、减、乘、除等混合运算。下面是一个简单的示例程序:```c include <stdio.h> int main() { char operator;double num1, num2, result;printf("Enter an operator (+, -, *, \/): ");scanf("%c", &operator);printf("Enter two ...
元邢怡main(){ int i ,j,s=0;printf(“请输入一个数字:”)scanf(“%d”,&i);j=i ;while(j--)s+=j ;printf(“1到%d的和是:%d”,i ,h );}
元邢怡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;} ...
元邢怡2.写出主函数void main(){},在函数内添加如下代码:\/\/定义变量 int minusNumber=-10; int plusNumber=0; \/\/转换成正数 plusNumber=abs(minusNumber); \/\/输出结果 printf("转换前:%d\\n",minusNumber); printf("转换后:%d\\n",plusNumber);3.点击红叹号调试。程序清单:include "stdafx.h"#...
元邢怡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 ("该方程...
元邢怡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;}
元邢怡题目应该是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+…...
元邢怡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;} ...
元邢怡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;} ...