用C语言中,如何用调用函数编写求一元二次方程的根int GetRoot(float a, float b, float c ,double* root){
double delta, deltasqrt ;
delta = b* b - 4*a*c ;
if(delta0) return 0 ;
deltasqrt = sqrt(delta) ;
if (a!=0.0){
root[0] = (deltasqrt - b)/(2.0*a) ;
root[1] =(-deltasqrt - b)/(2.0*a) ;
}
if (root[0] == root[1]) return 1;
else return 2 ;
}
int main(void){
//计算方程的根
floata = 2.0,b =6.0,c=3.0 ;//a,b,c s是参数
double root[2] ;//root是得到的两个根
int n = GetRoot(a,b,c,root) ;
if (n1){
printf("方程无根") ;
}else{
printf("方程的解为:%f,%f",root[0],root[1]) ;
}
}
扩展资料:
C语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发 。C语言能以简易的方式编译、处理低级存储器 。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言 。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括一些类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译 。
C语言特点:
(1)简洁的语言
C语言包含有各种控制语句仅有9种,关键字也只有32
个,程序的编写要求不严格且多以小写字母为主,对许多不必要的部分进行了精简 。实际上 , 语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能 , 如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统 。
(2)具有结构化的控制语句
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if?else语句和switch语句等 。可以用于实现函数的逻辑控制,方便面向过程的程序设计 。
(3)丰富的数据类型
C语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型 , 还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算 。
(4)丰富的运算符
C语言包含34个运算符,它将赋值、括号等均视作运算符来操作 , 使C程序的表达式类型和运算符类型均非常丰富 。
(5)可对物理地址进行直接操作
C语言允许对硬件内存地址进行直接读写,以此可以实现汇编语言的主要功能,并可直接操作硬件 。C语言不但具备高级语言所具有的良好特性,又包含了许多低级语言的优势 , 故在系统软件编程领域有着广泛的应用 。
(6)代码具有较好的可移植性
C语言是面向过程的编程语言 , 用户只需要关注所被解决问题的本身 , 而不需要花费过多的精力去了解相关硬件,且针对不同的硬件环境 , 在用C语言实现相同功能时的代码基本一致,不需或仅需进行少量改动便可完成移植,这就意味着 , 对于一台计算机编写的C程序可以在另一台计算机上轻松地运行,从而极大地减少了程序移植的工作强度
(7)可生成的高质量目标代码,高执行效率的程序
与其他高级语言相比,C语言可以生成高质量和高效率的目标代码,故通常应用于对代码质量和执行效率要求较高的嵌入式系统程序的编写 。
c语言函数求方程的根#includestdio.h
#includestdlib.h
#includemath.h
int main()
{
float a,b,c,x,x1,x2,d;
scanf("%f %f %f",a,b,c);
d=b*b-4*a*c;
if(a==0)
{
if(b==0)
{
if(0==c)
{
printf("等式0!\n");
}
else
{
printf("输入错误!\n");
}
}
else
{
printf("只能构成一元一次方程,x=%.6f\n",0==-(float)c/b ? 0 : -(float)c/b);
}
}
else
{
if(d0)
{
x1=(-b sqrt(-d))/(2.0*a);
x2=(-b-sqrt(-d))/(2.0*a);
printf("x1=%.6f %.6fi\nx2=%.6f-%.6fi\n",(-b)/(2.0*a),sqrt(-d)/(2.0*a),(-b)/(2.0*a),sqrt(-d)/(2.0*a));
}
else if(d==0)
{
printf("x1=x2=%.6f\n",(-b)/(2.0*a));
}
else
{
x1=(-b sqrt(d))/(2.0*a);
x2=(-b-sqrt(d))/(2.0*a);
printf("x1=%.6f\nx2=%.6f\n",x1,x2);
}
}
system("PAUSE");
return EXIT_SUCCESS;
}
c语言一元二次方程求根程序c语言一元二次方程求根程序:
手动输入三个系数,分别代表二次项系数、一次项系数、常数项 。
判断输入的二次项系数是否为0 , 如果为0,提示“输入的第一个值不合法 , 请重新输入!” 。
如果二次项系数不为0,利用根的判别式,计算一元二次方程是否有根 。
如果判别式 Δ = 0 ,代表方程有两个根,输出根 。
如果 Δ0 ,提示“方程无根” 。
c语言一元二次方程求根程序算法的构思过程:
一元二次方程的一般式:ax^2 bx c=0 。
我们知道 , 一元二次方程有解(根)的充要条件是:b^2-4ac=0 。如果不满足此关系式,那么方程无解 。接着当方程有解的时候又出现了两种情况 。
有两个重根(大小相等的根)或者两个大小不等的根,为了是程序更加完善还要考虑到a =0的情况,即此时不能看做一元二次方程而只能将其看作一元一次方程,本程序运用求根公式来实现功能 。
用C语言编程怎么求一个数的根号#include stdio.h
#include math.h
int main()
{
float a=5, b;
b=sqrt(a);
printf("a函数求根的c语言程序的平方根为:%f\n",b);
return 0;
}
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("\n");/*输出回行*/
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\n",x1,x2);/*输出两个根的值*/
}
拓展资料
在实际的求法中,一般还需要判断有无实根 , 这是可以通过p的值来判断
【函数求根的c语言程序 求根号的函数c语言】关于函数求根的c语言程序和求根号的函数c语言的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。
推荐阅读
- cpu为什么虚焊,cpu虚焊会无限重启吗
- 电脑pr剪辑怎么文本朗读,电脑pr剪辑怎么文本朗读的
- 荣耀4路由器怎么样用,荣耀路由器怎么使用
- c语言的cos函数公式 c语言cos函数怎么表示
- cpu小会影响什么,cpu小了会怎么样
- 如何复制百度文库ppt,如何复制百度文库ppt里的文字
- mercury怎么设置路由器,mercury的路由器怎么设置
- Mysql怎么记录到毫秒 mysql如何获取时间
- 包含postgretimestamp时区的词条