上机实验八 函数

  • 格式:doc
  • 大小:36.50 KB
  • 文档页数:3

上机实验九 函数
学号: 姓名:
一、 目的要求:

1. 掌握函数的定义以及调用;
2. 掌握函数间的参数传递;
3. 掌握函数的嵌套调用和递归调用方法;
4. 掌握数组元素和数组名作为函数参数的用法以及区别

二、实验内容:

第1题: 编写两个函数,分别求两个整数的最大公约数和最小公倍数,用主
函数调用这两个函数并输出结果,两个整数从键盘输入。

第2题: 编写一个判断素数的函数,并在主函数中调用。
附加题:调用此函数,输出2~100所有的素数,每行输出五个。
第3题: 编写一个函数,利用参数传入一个3位数n,找到101~n间满足下
列条件的数:他是完全平方数,又有两位数字相同,如144、676,函数返回这
样的数的个数(提示,可以利用函数的嵌套调用,编写一个函数,判断一个整
数是否满足条件)。
第4题: 写一函数,使输入的一个字符串按反序存放,在主函数中输入和输
出字符串。

第5题: 利用递归函数求n!。
第6题: 编写一个函数,输入一个16进制数,输出对应的10进制数
//思路:这个问题不是把十六进制数以十进制格式输出,而是确实把一个十六进制数转换
成为10进制
//关于输入:本例把16进制数以字符串格式输入,而不是以数值方式输入
//例:一个16进制数 3a5d=(((3*16)*16+10)*16+5)*16+13
//所以从字符串的第一个字符开始依次处理,当前结果=上一结果*16+当前数值
//a-f的数值对应10-15,参照代码
//本例以字符串作为函数参数,请参照指针和字符串内容

第7题: 写出调用函数f(27)的输出结果是 。
void f(int n) {
if (n<5) printf(“%d”, n);
else {
printf(“%d”, n%5);
f(n/5);
}
}
第8题: 设计一个通用的整型数组由大到小的排序函数(用数组名作函数参
数),然后调用。

第9题: 编写程序,输入一个正实数x和一个正整数n,求下列算式的值
x – x2/2! + x3/3! – x4/4! +…+(-1)n-1xn/n!
要求定义和调用2个函数:fact(n)计算n的阶乘, power(x, n)计算x的n次幂,
两个函数返回值类型都是double。