![](https://csdnimg.cn/release/download_crawler_static/86089536/bg6.jpg)
计中是很有用的。在程序设计中往往根据需要确定若干模块,分别由一些函数来实现。但在开始时,一
般不可能将所有的函数模块都设计完成,只能将一些最重要、最基本的函数设计出来,而对于一些次要
的函数模块在以后需要时陆续补上。因此,在程序设计的开始阶段,为了程序的完整性,用一些空函数
先放在那里占一个位置,以后用一个编好的函数代替空函数。这样做,程序的结构清楚,可读性好,以
后扩充新功能也比较方便,对程序结构影响不大。所以空函数在模块化程序设计中是很有用的。
(四)函数定义的实例
例 6.4 自定义两个函数,分别求给定值的绝对值和平方根。
1. 自定义平方根函数 sqrt()和求绝对值函数 fabs()实现数学计算操作。
启动 Turbo C 系统,进入编辑环境;
定义设计求给定值的绝对值函数 fabs( ),代码是:
float fabs(float x) /*求 x 的绝对值*/
{
if( x < 0 )
{ x = -x ; } /* 如果 x 是负数则返回其相反数,否则直接返回 */
return(x);
}
定义求平方根函数 sqrt:
利用 Newton 迭代法求给定值的绝对值的平方根,下面给出 Newton 迭代法求平方根的算法过程:
设置猜测初值为 1;
如果 | 猜测值*猜测值-X |<ε,则转到④;(ε指的是一个很小的数)
设置新的猜测值为(X / 猜测值+猜测值)/ 2,返回到②;
猜测值就是满足要求的 X 的平方根。
求平方根函数 sqrt( )的代码是:
float sqrt(float x) /*牛顿迭代法求实数 x 的平方根*/
{
float EpsilonNum,GuessNum;
EpsilonNum = 1E-5;
GuessNum = 1.0;
while( fabs(GuessNum*GuessNum - fabs(x)) >= EpsilonNum )
{
GuessNum = (fabs(x)/GuessNum + GuessNum) / 2.0; /*调用自定义 fabs()*/
}
return(GuessNum);
}
2. 调用自定义函数,设计主程序功能界面,其代码如下:
#include <stdio.h>
#include <conio.h>
float sqrt(float);
float fabs(float);
void main( )
{
float FloatNum,Result; /* 定义输入变量和输出变量 */
char SelectNum;
while(1) /* 显示功能菜单 */