大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
int GetRoot(float a, float b, float c ,double* root){
创新互联建站是一家专业提供安龙企业网站建设,专注与网站设计、成都网站建设、HTML5建站、小程序制作等业务。10年已为安龙众多企业、政府机构等服务。创新互联专业网站建设公司优惠进行中。
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){
//计算方程的根
float a = 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语言可以生成高质量和高效率的目标代码,故通常应用于对代码质量和执行效率要求较高的嵌入式系统程序的编写。
#include stdio.h
#include math.h
int main()
{
float a=5, b;
b=sqrt(a);
printf("a的平方根为:%f\n",b);
return 0;
}
#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语言中,可以用sqrt()函数表示根号,参数类型为double类型,使用前需要先引入头文件math.h。
以下列代码为例:
#includestdio.h
#includemath.h
void main()
{
double i = 9;
printf("%f\n",sqrt(i));
return 0;
}
扩展资料:
math.h数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有:
1、double acos(double x) 返回x的反余弦弧度。
2、double asin(double x) 返回x的反正弦弧度。
3、double atan(double x) 返回x的反正切值,以弧度为单位。
4、double atan2(doubly y, double x) 返回y / x的以弧度为单位的反正切值,根据这两个值,以确定正确的象限上的标志。
5、double cos(double x) 返回弧度角x的余弦值。
6、double cosh(double x) 返回x的双曲余弦。
7、double sin(double x) 返回弧度角x的正弦。
8、double sinh(double x) 返回x的双曲正弦。
9、double tanh(double x) 返回x的双曲正切。
10、double exp(double x) 返回e值的第x次幂。
11、double log(double x) 返回自然对数的x(基准-E对数)。
12、double log10(double x) 返回x的常用对数(以10为底)。
13、double modf(double x, double *integer) 返回的值是小数成分(小数点后的部分),并设置整数的整数部分。
14、double pow(double x, double y) 返回x的y次方。
15、double sqrt(double x) 返回x的平方根。
16、double ceil(double x) 返回大于或等于x的最小整数值。
17、double fabs(double x) 返回x的绝对值
18、double floor(double x) 返回的最大整数值小于或等于x。
19、double fmod(double x, double y) 返回的x除以y的余数。
参考资料:
math.h函数库——百度百科
用math.h里封装好的函数,具体如下:
求平方根:double sqrt(double x)
例:
#include math.h
#include stdio.h
int main(void)
{
double x = 4.0, result;
result = sqrt(x);
printf("The square root of %lf is %lf
", x, result);
return 0;
}
扩展资料:
关于c语言的基本运算
1.加法运算符 +
int a = 10;
int b = a + 5;
在第3行利用加法运算符 + 进行了加法运算,再将和赋值给了变量b,最终变量b的值是15
2.减法运算符 或 负值运算符 -
int b = 10 - 5;
int a = -10;
1 在第1行利用减法运算符 - 进行了减法运算,再将差赋值给了变量b,最终变量b的值是5
2 在第3行中,这个 - 并不是什么减法运算符,而算是一个负值运算符,-10代表的是负十
3.乘法运算符 *
int b = 10 * 5;
注意:乘法运算符并不是x或者X,而是星号*。变量b最终的值是50。
4.除法运算符 /
double a = 10.0 / 4;
double b = 10 / 4;
printf("a=%f, b=%f \n", a, b);
注意:除法运算符并不是÷,而是一个正斜杠 /
1 第1行中的10.0是浮点型,4是整型,因此会将4自动类型提升为浮点型后再进行运算,最后变量b的值是2.5
2 第2行中的10和4都是整型,计算机中的运算有个原则:相同数据类型的值才能进行运算,而且运算结果依然是同一种数据类型。因此,整数除于整数,求出来的结果依然是整数,会损失小数部分。最后变量b的值是2。
5.模运算符或称取余运算符 %
注意:这个%并不是除号÷,它是一个取余运算符,或者叫做模运算符。取余的意思是,取得两个整数相除之后的余数。比如,5除于2的余数是1,5除于3的余数是2。因此使用这个%有个原则:%两侧必须都为整数。
错误的写法:1 int a = 5.0 % 2;
编译器会直接报错,因为5.0并非整数。