实例:求三角形面积
核心思路:
输入三个数分别代表三角形的三个边长,运用三角形的性质:任意两边之和大于第三边,判断三边是否可以构成一个三角形,若能构成三角形,则可求出该三角形的面积。
三角形面积公式:
已知三角形的三边长为a、b、c,p=(a+b+c)/2,三角形的面积为:
sqrt()函数:求给定值的平方根
sqrt()函数在头文件 math.h 里,函数的原形为 double sqrt(double x)
例如:求4的平方根,源代码如下:
#include <stdio.h>
#include <math.h>
int main()
{
printf("4的平方根是:%f",sqrt(4));
return 0;
}
运行编译上面的代码,输出以下结果:
4的平方根是:2.000000
求三角形面积,源代码如下:
#include<stdio.h>
#include<math.h>
int main()
{
float a,b,c,p,s;
printf("请分别输入三角形的三条边:\n");
scanf("%f %f %f",&a,&b,&c);
if ((a+b)>c && (a+c)>b && (b+c)>a)
{
p = (a + b + c)/2;
s = sqrt(p*(p-a)*(p-b)*(p-c));
printf("S = %f",s);
} else
{
printf("输入的三边无法构成一个三角形\n");
}
return 0;
}
运行上面的源代码,输入2 2 3,将会输出以下结果:
S = 1.984313
实例:解一元二次方程
什么是一元二次方程?
一元二次方程的一般形式 ax2 + bx + c = 0 (a≠0) ,其中ax2叫作二次项,a是二次项系数;bx叫作一次项,b是一次项系数;c叫作常数项。
核心思路:
输入a,b,c三个数,分别对应一元二次方程的二次项系数,一次项系数,常数项系数,运用一元二次方程根的判别式判断此方程有无实数根,若方程有实数根,则可运用求根公式分别算出这两个实数根。
解一元二次方程,源代码如下:
#include<stdio.h>
#include<math.h>
int main() {
float a, b, c, d, x1, x2;
printf("请输入一个一元二次方程:\n");
printf("提示:ax^2+bx+c=0 只需依次输入a,b,c\n");
scanf("%f %f %f", &a, &b, &c);
d = pow(b, 2) - 4 * a * c;
if (d < 0) {
printf("此方程无实数根\n");
} else {
x1 = (-b - sqrt(d)) / 2 * a;
x2 = (-b + sqrt(d)) / 2 * a;
printf("此方程有两个实数根\n");
printf("x1=%f,x2=%f", x1, x2);
}
return 0;
}
运行上面的源代码,输入1 -5 6,将会输出以下结果:
此方程有实数根
x1=2.000000,x2=3.000000