C语言程序设计基础(例题)

一,基础篇

案例1—1

《点到直线的距离》

  已知直线L的方程是 Ax+By+C=0 ,点P的坐标是(x,y) ,求点P到直线L的距离。点到直线的距离公式为:

d=\frac{\left | Ax_{0}+By_{0}+C \right |}{\sqrt{A^{2}+B^{2}}}

要求先输入A,B,C三个参数,确定直线L;然后再输入x和y,确定点P;最后根据点到直线的距离公式,计算点到直线的距离。

#include<stdio.h>
#include<math.h>
int main() {
	double A, B, C;//直线的参数
	double x, y;//点坐标
	double d;//点到直线的距离
	puts("请输入直线的方程Ax+By+C=0");//puts用于简单的输出字符串,自动换行。但功能小于printf
	puts("A="); scanf_s("%lf", &A);//scanf_s和scanf一样(微软编译器大多用前者
	puts("B="); scanf_s("%lf", &B);
	puts("C="); scanf_s("%lf", &C);

	//printf("所输入的方程是(%lf)x+(%lf)y+(%lf)=0\n", A, B, C);一级
	//printf("所输入的方程是(%.lf)x+(%.lf)y+(%.lf)=0\n", A, B, C);二级
	printf("所输入的方程是%.lfx%+.lfy%+.lf=0\n", A, B, C);//三级  知识点!

	/* 首先“断句”
	%.lf  x    %+.lf  y     %+.lf  =  0
	'.'是精度修饰符,这里省略不必要的零
	'+'是符号修饰符,用于在输出正数时也显示符号 即避免出现’+-‘连用的情况
	拓展
	'-'用于左对齐输出。因为默认是右对齐的
	   如 “%5d”和“%-5d”
	*/

	puts("请再输入点的坐标,依次输入 x(回车)y");
	scanf_s("%lf%lf", &x, &y);
	printf("所输入的点坐标是(%lf,%lf)\n", x, y);

	d = fabs(A * x + B * y + C) / sqrt(pow(A, 2) + pow(B, 2));
	//fabs 绝对值;sprt 根号;pow(,n) n次方

	printf("点到直线的距离是%lf", d);
	return 0;
}

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值