C语言——一元二次方程的根(math头文件和goto语句)
实验要求:
**
- 判断a是否为零的函数;
- 计算判别式b2-4ac是否大于等于0的函数
- 求出该方程的解
**
#include<stdio.h>
#include<math.h> //数学函数头文件,如幂函数、三角函数、指数函数等。
int main() {
A://定义标签
int a, b, c,x1,x2;
long z;
printf("请输入你的方程系数\n");
printf("请输入你的方程系数a:");
scanf_s("%d", &a);
printf("请输入你的方程系数b:");
scanf_s("%d", &b);
printf("请输入你的方程系数c:");
scanf_s("%d", &c);
if (a==0)
{
printf("对不起,方程不成立。\n");
goto A;//跳转
}
else
{
z = b * b - 4 * a * c;
printf("%d\n", z);
if (z > 0)
{
x1 = (-b + sqrt(z)) / 2*a;
x2 = (-b - sqrt(z)) / 2 * a;
printf("方程有两近似根:x1=%d,x2=%d",x1,x2);
}
else if (z == 0)
{
x1 = -b / 2 * a;
printf("方程有一个近似根:x1=%d",x1);
}
else if (z < 0)
{
printf("方程没有根");
}
}
return 0;
}
**
结果分析
**
首先定义三个系数a,b,c,和两个根x1,x2.键盘输入数据,对a经行判断,利用if和goto语句判断和跳转。然后计算 b * b - 4 * a * c;对它进行判断,利用函数sqrt经行根式运算。
知识点
1.#include<math.h> :math库,实际上就是一个头文件,里面是一些已经写好的代码,形式上是一个个的函数,包含进来以后就可以使用里面的各种数学函数,如幂函数、三角函数、指数函数等。
2.goto语句也称为无条件转移语句
一般格式:
A:(定义标签)
代码快~~~~~
goto A;(跳转至A)
注意:在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。