简单编程思想-c语言题目讲解


一、编写程序,求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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值