一、编写程序,求ax²+bx+c=0 的解。
输入a,b,c的值
由题目我们可以看到这是一个一元二次方程,
由于一元二次方程的求根公式为:
x1,2=(-b±根号下b²-4ac)/2a
当Δ=0时方程有一个根,Δ<0时方程没有根,Δ>0时方程有两个实数根。Δ=b²-4ac。
思路:①我们只需要根据a,b的值来判断Δ的取值,
②Δ=0,有且只有一个实数根,公式就变为-b/2a,之后带入值进行计算即可得到根的值。
③Δ>0,有两个实数根,带入公式计算x1=(-b+Δ)/2a
x2 = (-b-Δ)/2a。
④Δ<0时,方程没有实数根。
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c;
double x1 = 0, x2 = 0;
printf("请输入a,b,c的值并用空格隔开");
scanf(" %lf %lf %lf",&a,&b,&c);
double gen = (b * b) - (4 * a * c);
if (gen < 0) {
printf("没有解\n");
}
else if (gen == 0) {
x1 = x2 = (-b) / (2 * a);
printf("%lf",x1);
}
else if (gen > 0) {
x1 = ((-b) + sqrt(gen)) / (2 * a);
x2 = ((-b) - sqrt(gen)) / (2 * a);
printf("x1 = %lf x2 = %lf",x1,x2);
}
return 0;
}
二、编写一个程序,要求有键盘输入三个数,计算以这三个数为边长的三角形面积
输入描述:输入三角形的三边a,b,c
看到题目首先我们要想一个问题:已知三角形的三边求它的面积。应该怎么求:其实可以用海伦公式也就是:
p = 半周长
s = 根号下p*(p-a)(p-b)(p-c)
解题思路:①定义三角型的各边都时double型,输入三边的边长,利用两边之和大于第三边来判断是否能构成一个三角形。
②构成三角形则用海伦公式进行计算,求出三角形的面积。】
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c,s,s1;
scanf("%f %f %f",&a,&b,&c);
if ((a+b >c)&&(a+c>b)&&(b+c>a)) {
s = (a + b + c) /2;
s1 = s * (s - a) * (s - b) * (s - c);
s = sqrt(s1);
printf("%f",s);
}
else {
printf("输入的边长不能构成三角形");
}
return 0;
}
三、编写程序判断某一年是否为闰年
闰年的判断条件为:
①能被4整除,且不能背100整除
②能被400整除
解题:
①定义年份变量,用输入语句对控制年份变量
②根据闰年的判断条件,写出对应的选择判断语句。
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int year = 0;
scanf("%d",&year);
if (((year%4==0)&&(year%100!=0)) || (year%400==0)) {
printf("%d 是闰年",year);
}
else {
printf("不是闰年");
}
return 0;
}