编程一元二次方程
1. c语言编写一个求一元二次方程的实根的程序。
步骤:
打开visual C++ 6.0-文件-新建-文件-C++ Source File
2.
定义变量:
#include <stdio.h>
#include <math.h>
void main()
{
double a,b,c; /*定义系数变量*/
double x1,x2,p; /*定义根变量和表达式的变量值*/
2. C语言编程:求1元2次方程的根
#include <stdio.h>
#include <math.h>
int 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); /*输出两个根的值*/
}
拓展资料
在实际的求法中,一般还需要判断有无实根,这是可以通过p的值来判断
3. c语言编写一元2次方程。
程序想法没错,但设计的时候有点失误。
void
main()
{
float
a=0,b=0,c=0,d=0,x1=0,x2=0,e=0;/*定义变量*/
printf("axe2+bx+c=0,(a,b,c):\n");/*提示输入3个数*/
scanf("%f,%f,%f",&a,&b,&c);/*输入的时候用float型
*/
e=sqrt(d);/*根号d
*/
x1=(-b+e)/(2*a);/*计算方程,公式有点不点,逻辑*/
x2=(-b-e)/(2*a);/*计算方程*/
printf("\n
positive:\n
x1=%f,\n
negative:\nx2=%f",x1,x2);/*输出x1
x2,输出的时候也要用float型*/
}
else
printf("equation");/*方程无解*/
getch();
}
//经修改,可以正常运行,
还有建议下,你就在定义变量的时候不要一大串一起定义类型,
有时候变量的类型是不无法隐型转换的,就会出错。
就像程序里面的,开根号又不一定都开出个整数,大多都是带小数的,就应该定义成float型,
最后的解也会直接化成带小数的,要是你用long(长整型,也是整型的一种),
那小数点后面就将被程序自动省略,那问题可就大了,呵呵,。
还在做为printf输出的时候,要给点提示,不然人家也不知道,这a,b,c是干嘛用的。
4. 编程实现求一元二次方程的解。有图看图答题,谢谢各位大神!
代码实现如下: 输入的时候按照1 2 1类似的格式输入,分别代表二次一次零次项的系数
#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c,delt,x1,x2;
printf("输入方程的三个系数:");
scanf("%f%f%f",&a,&b,&c);
delt = b*b-4*a*c;
if(delt>=0) {
x1 = (-b+sqrt(delt))/(2*a);
x2 = (-b-sqrt(delt))/(2*a);
printf("方程的解分别为:x1=%.2f x2=%.2f \n",x1,x2);
}
else {
printf("方程无实根\n");
}
return 0;
}
5. 编程编写一个程序求一元二次方程的解
第二题:
#include<iostream.h>
void main()
{
int i,g,s,b;
for(i=100;i<1000;i++)
{
g=i%100;
b=i/100; //百位数
s=g/10; //十位数
g=g%10; //个位数
if(g*g+s*s+b*b==99)
cout<<i<<endl;
}
}
第三题:
#include <iostream>
using namespace std;
int main()
{
int i,j,maxi,maxj,mini,minj,max,min;
int a[2][3];
cout<<"请输入6个整数作为矩阵元素"<<endl;
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
cin>>a[i][j];
};
maxi=maxj=mini=minj=0;
max=a[maxi][maxj];min=a[mini][minj];
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
if(max<a[i][j])
{
max=a[i][j];
maxi=i;maxj=j;
};
}
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
if(min>a[i][j])
{
min=a[i][j];
mini=i;minj=j;
}
}
cout<<"矩阵中最大值为"<<max<<"\n"<<"其位置位于a["<<maxi<<"]["<<maxj<<"]"<<endl;
cout<<"矩阵中最小值为"<<min<<"\n"<<"其位置位于a["<<mini<<"]["<<minj<<"]"<<endl;
return 0;
}
第四题:
#include<stdio.h>
viod main()
{
int sum=0,a[3][3];
printf("输入数据:\n");
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
{
printf("a[%d][%d]=",i,j);
scanf("%d",&a[i][j]);
}
printf("\n");
for(int i=0;i<3;i++)
for(int j=0;j<3;j++)
sum+=a[i][j];
printf("%d\n",sum);
}
第五题:
#include <iostream> using namespace std; double a(int m) { double n=1; for (int i=1;i<=m;i++) n=n*i; return n; } int main() { int t; double y=1; for(t=1;(1.0/a(t))>=1e-6;t++) { if(t%2==0) y=y-(1.0/a(t)); else y=y+(1.0/a(t)); } cout<<"y=1+1/1!-1/2!+1/3!-1/4!+......="<<y<<endl; return 0; }
6. 怎样用C语言编一个解一元二次方程的程序(可以看步骤)!
#include <stdio.h>
#include <math.h>
int main(void)
{
int a, b, c; //定义一元二次方程的三个数值;
printf("请依次输入一元二次方程的三个参数a b c,中间以空格隔开\n");
scanf("%d %d %d", &a, &b, &c); //依次输入一元二次方程的三个参数
double delta = b*b - 4*a*c; //定义delta的值为b*b - 4*a*c
double x1 = (-b + sqrt(delta))/(2 * a);
double x2 = (-b - sqrt(delta))/(2 * a);
if (delta>0) //delta大于0时,方程有两个解
{
printf("一元二次方程有两个解\n");
printf("一元二次方程的第一个解,x1 = %f\n",x1);
printf("一元二次方程的第二个解,x2 = %f\n",x2);
}
else if (delta ==0) //delta等于0,方程有两个相同的解
{
printf("一元二次方程有两个相同的解\n");
printf("一元二次方程的解为x1 = x2 =%f\n",x1);
}
else //delta小于0时,方程没有解
{
printf("一元二次方程没有解\n");
}
return 0;
}
7. c语言一元二次方程编程是怎么样的
c语言一元二次方程编程是#include<iostream> 。#include<cmath>。usingnamespacestd。intmain()。{floata,b,c;floatx1,x2; cin>a>>b>>c;floatdlt=b*b-4*a*c;if(dlt>=0){x1=-b/2/a+sqrt(dlt)。/2/ax2=-b/2/a-sqrt(dlt)/2/a。
形如x=p或(nx+m)=p(p≥0)的一元二次方程可采用直接开平方的方法解一元二次方程.如果方程化成x²=p的形式,那么可得x=±p;(x²=p,x=±根号p)如果方程能化成(nx+m)=p(p≥0)的形式,那么nx+m=±p。
简洁的语言:
C语言包含的各种控制语句仅有9种,关键字也只有32个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
提供的控制语句具有结构化特征,如for语句、if...else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
8. 如何编程计算一元二次方程的根
#include"stdio.h"
#include"math.h"
main()
{
float a,b,c,d[8];
char x,y;
a=b=c=d[8]=0;
printf("请输入a、b、c的值:\n");
scanf("%3f%3f%3f",&a,&b,&c);
d[0]=b*b-4*a*c;
printf("%.3f",d[0]);
if(a==0)
printf("该方程不是一元二次方程!!!");
else if(d[0]>0)
{
d[1]=(-b+sqrt(d[0]))/(2*a);
d[2]=(-b-sqrt(d[0]))/(2*a);
printf("该一元二次方程的解为:%.3f或%.3f\n",d[1],d[2]);
}
else if(d[0]==0)
{
d[3]=-b/(2*a);
printf("该一元二次方程的解为:%.3f\n",d[3]);
}
else
{
d[4]=-b/(2*a);
d[5]=sqrt(fabs(d[0]))/(2*a);
printf("该一元二次方程的解为:%.3f-%.3fi或%.3f-%.3fi\n",d[4],d[5],d[4],d[5]);
}
}
9. C语言编程 求一元二次方程的解
#include <stdio.h>
#include <math.h>/*用到数学函数时要把这个包含进来*/
int main(void)
{
int a,b,c;
double X,X1,X2;
printf("Input a:");
scanf("%d",&a); /*%f改成%d*/
printf("Input b:");
scanf("%d",&b); /*%f改成%d*/
printf("Input c:");
scanf("%d",&c); /*%f改成%d*/
if (a==0) /*=改成==*/
printf("该方程不是一元二次方程");
else if ((b*b-4*a*c)<0)
printf("该方程无解");
else if ((b*b-4*a*c)==0)/*应该是先判断后计算*/
{
X=(double)(-b/(2*a));
printf("X= %lf",X);)/*double的格式输出符对应是%lf*/
}
else if ((b*b-4*a*c)>0)
{
X1=(double)((-b+sqrt(b*b-4*a*c))/(2*a));
X2=(double)((-b-sqrt(b*b-4*a*c))/(2*a));
printf("X1=%lf, X2=%lf",X1,X2);
}
getch();
return 0;
}
10. C语言编程 解一元二次方程
M宏不需要开方,delta只是b*b-4*a*c,如果它大于等于0,再开方才有意义.变量也应该使用浮点数类型,修改如下:
//---------------------------------------------------------------------------
#include<stdio.h>
#include<math.h>
#define M (b*b-4*a*c) /*注意这里*/
main()
{double a,b,c,x1,x2; /*注意这里*/
printf("请输入方程的三个系数:");
scanf("%lf,%lf,%lf",&a,&b,&c); /*注意这里*/
if (M>0)
{ x1=(-b+sqrt(M))/(2*a); /*注意这里*/
x2=(-b-sqrt(M))/(2*a); /*注意这里*/
printf("方程的两个根是:\nx1=%lf,x2=%lf\n",x1,x2);/*注意这里*/
}
else if (M==0)
{ x1=-b/(2*a);
printf("方程具有两个相等的实根:x1=x2=%lf\n",x1); /*注意这里*/
}
else
printf("输入错误,请重新输入\n");
}
//---------------------------------------------------------------------------