实验8 函数基本应用
实验8 函数基本应用
一、实验目的
1.掌握函数声明、定义及调用的方法。
2.掌握函数实际参数与形式参数的对应关系以及数据的“值传递”方式。 3.掌握递归的思想和递归调用的一般方法。 4.学习编写简单的递归程序。 二、实验内容 1.验证性实验 (1)下列程序的执行结果是什么? #include \void change(int a,int b) { int t; t=a;a=b;b=t;
}
void main( )
{ int x,y;
printf(\ scanf(\
change(x,y); printf(\}
思考:为什么x与y的值没有互换?
(2)下列程序的执行结果是什么? #include
printf(\exam2( );
printf(\}
void exam1( int a)
{ printf(\ a++;
printf(\
定义格式:类型 函数名(形式参数表) 注意:形参表每个参数单独定义 调用方法:a=函数名(形式参数表) 实际参数个数类型与形参一一对应 声明:在调用位置之前的函数可以不用声明 声明方法:类型 函数名(形式参数表); a=9 b=6 T=6 y=9 x=6 a=15 a=15 a=16 a=15 a=0 a=1 a=15 }
void exam2(void)
{ printf(\ a++;
printf(\}
2.程序填空
(1)下列程序的功能是输出100~1000之间所有既能被3整除,又能被7整除的数。 #include
int sele(int n); for(k=100;k<=1000;k++) if(sele(k))
printf(\ printf(\}
int sele(int n)
{ if(n%3==0&&n%7==0 ) return (1); return 0 ; }
(2)下列程序的功能是:prime()函数用于判别一个数是否为素数,在主函数输入一个整数,输出是否素数的信息。
#include
int number;
int prime(int number);
printf(\请输入一个正整数:\\n\scanf(\if (prime(number))
printf(\是素数. \else
printf(\不是素数. \}
int prime(int num) /*此函数用于判别素数*/ { int flag= ① ,n;
for(n=2;n if ( ③ ==0) flag=0; return( ④ ); } (3)以下程序功能是:输入一个长的正整数,将其每位数分离出来,并求其和。例如,输入650123,输出为:6+5+0+1+2+3=17。(求和采用递归实现) #include ① ; else x=sum(n/10)+ ② ; return ③ ; } void main() { unsigned long x; printf(\请输入一个整数:\ scanf(\ printf(\=%d\④ ); printf(\ } 3.程序改错 (1)下列程序的功能是利用自定义函数计算一无符号整数各位数字的乘积。 #include unsigned f(unsigned num) {unsigned k=0; ★ do {k*=num/10; ★ num/=10; }while(k); ★ return k; } void main() {int x; printf(\ scanf(\ ★ printf(\} (2)以下程序的功能是:输入一个三位数,判断是否为“水仙花数”。函数flower()用以判断一个数是否为“水仙花数”,主函数main()中进行测试。 #include j= (n/10/10); ★ k=(n/100); x=i*i*i+j*j*j+k*k*k; if(x==n) return 0; else return 1; } void main() { int n; printf(\scanf(\ ★ if(n>999||n<100) printf(\else {if(flower(n)) ★ printf(\ else printf(\ } } 4.设计性实验 (1)写一函数判断输入年份是否为闰年,并编写主函数测试。 提示: ①该函数有一个整型参数year,若year为闰年,则返回1,否则返回0。 ②判断年份year是否为闰年的条件是:若year能被4整除而且不能被100整除,则是闰年;若year能被400整除也是闰年。 (2)编写函数求出任意二个正整数的最大公约数和最小公倍数。在主函数中输入这两个数,并输出它们的最大公约数和最小公倍数。 (3)编写一个函数求1+2+3+?100。要求用递归调用的方法实现,并写一个主函数输出结果。 (4)已知二阶Fibonacci数列: Fib(0)=0;若n=0 Fib(1)=1;若n=1 Fib(n)= Fib(n-1)+ Fib(n-2) 其他情况 定义递归和非递归函数求Fib(n)。
相关推荐:
- [建筑文档]2018年公需课:专业技术人员创新能力与
- [建筑文档]2013年福建教师招考小学数学历年真题
- [建筑文档]高中信息技术课flash知识点总结 - 图文
- [建筑文档]电工实训 - 图文
- [建筑文档]最高院公告案例分析100篇(民商篇)
- [建筑文档]南开中学高2017级14-15学年(上)期末
- [建筑文档]五粮液集团战略分析
- [建筑文档]鲁教版(2012秋季版)九年级化学 酸碱
- [建筑文档]超星尔雅2017中国哲学概论自整理题库答
- [建筑文档]关于成为海口金盘饮料公司材料独家供货
- [建筑文档]LNG学习资料第一册 基础知识 - 图文
- [建筑文档]四年级品社下册《好大一个家》复习资料
- [建筑文档]现阶段领导权力腐败的特点及发展趋势
- [建筑文档]魏晋南北朝诗歌鉴赏—嵇康
- [建筑文档]坚持追求真爱是理智的行为 正方一辩稿
- [建筑文档]湘西州刑释解教人员帮教安置工作存在的
- [建筑文档]园林工程试题库及答案
- [建筑文档]计算机长期没有向WSUS报告状态
- [建筑文档]日语最新流行语
- [建筑文档]B62-016 景观进场交底专题会议
- 2018年中考语文课内外古诗词鉴赏专题复
- 高考试题研究心得体会
- C语言基础题及答案
- 电气控制及PLC习题及答案
- 都昌小学家长学校汇报材料
- GMAT作文模板正确使用方法
- 俄军办坦克大赛:中国99式有望与豹2A6
- 成本会计练习题
- 酒店餐饮业最流行的5S管理方法
- 2014-2015学年山东省菏泽市高二(下)
- 《黄鹤楼送孟浩然之广陵》教案、说课、
- 2013年结构化学自测题 有答案版
- 2011西安世界园艺博览会游览解说词(附
- 窗口文明单位示范单位创建活动总结
- 2018满分超星尔雅就业课后练习期末答案
- 韶山市城市总体规划-基础资料
- 苏教版第三单元知识点归纳
- 第4章 曲轴模态分析
- 加大查办案件力度的思考
- 武汉CPC导轨介绍




