Ubuntu Linux C开发:深入理解函数---增量式开发--undefined reference to `sqrt‘问题解决展示

目前为止你看到了很多程序例子,也在它们的基础上做了很多改动,在这个过程中巩固所学的知识。但是如果从头开始编写一个程序解决某个问题,应该按什么步骤来写呢?本节提出一种增量式(Incremental)开发的思路,很适合初学者。

现在问题来了:我们要编一个程序求平面上的圆的面积,圆的半径以两个端点的座标(x1, y1)和(x2, y2)给出。首先分析和分解问题,把大问题分解成小问题,再对小问题分别求解。这个问题可分为两步:

由两端点座标求半径的长度,我们知道平面上两点间距离的公式是:

distance = √((x2-x1)2+(y2-y1)2)

括号里的部分都可以用我们学过的C语言表达式来表示,求平方根可以用math.h中的sqrt函数,因此这个小问题全部都可以用我们学过的知识解决。这个公式可以实现为一个函数,参数是两点的座标,返回值是distance。

上一步算出的距离是圆的半径,已知圆的半径之后求面积的公式是:

area = π·radius2

也可以用我们学过的C语言表达式来解决,这个公式也可以实现为一个函数,参数是radius,返回值是area。

首先编写distance这个函数,我们已经明确了它的参数是两点的座标,返回值是两点间距离,可以先写一个简单的函数定义:在这里插入图片描述

#include <math.h>
#include <stdio.h>

double distance(dou

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值