实验八函数(二)
1.实验目的
(1)进一步熟悉怎样利用函数实现指定的任务。
(2)熟悉函数的嵌套调用和递归调用的方法。
2.实验内容
(1)写一个函数,用“起泡法”对输人的10个字符按由小到大顺序排列
<1>输人程序,进行编译和运行,分析结果
<2>将要排序的字符串改为5个,按由大到小的顺序排列
(2)用递归法将一个整数n转换成字符串。例如,输人483,应输出字符串”483"。
n的位数不确定,可以是任意的整数
<1>输人程序,进行编译和运行,分析结果。
<2>分析递归调用的形式和特点
<3>思考如果不用递归法,能否改用其他方法解决此问题,上机试一下
(3)编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格
和其他字符的个数,在主函数中输人字符串以及输出上述的结果
<1>在程序中用全局变量。编译和运行程序,分析结果。讨论为什么要用全
局变量
<2>能否不用全局变量,修改程序并运行之
(4)求两个整数的最大公约数和最小公倍数,用一个函数求最大公约数。用另
一函数根据求出的最大公约数求最小公倍数
<1>不用全局变量,分别用两个函数求最大公约数和最小公倍数。两个整数
在主函数中输入,并传送给函数hcf,求出的最大公约数返回主函数,然后再与两个整数一起作为实参.传递给函数lcd,求出最小公倍数,返回到主函数输出最大公约数和最小公倍数。
<2>用全局变量的方法。用两个全局变量分别代表最大公约数和最小公倍
数。用两个函数分别求最大公约数和最小公倍数,但其值不由函数带回,而是赋给全局变量。在主函数中输出它们的值。
分别用以上两种方法编程并运行,分析对比。