《函数调用程序设计(十三).doc》由会员分享,可在线阅读,更多相关《函数调用程序设计(十三).doc(6页珍藏版)》请在金锄头文库上搜索。
1、 西南交通大学 信息科学与技术学院 第 页 / 共 页软件工程实验中心实验报告实验名称: 函数调用程序设计(十三)班级: 学号: 姓名:实验日期:第 周 星期四 实验地点:预习情况:优 良 及格 不及格 实验成绩:_ 指导教师:【实验目的】1. 掌握定义函数的方法。2. 掌握函数实参与形参的对应关系,以及“值传递”的方式。3. 掌握函数的嵌套调用和递归调用的方法。4. 掌握全局变量和局部变量动态变量、静态变量的概念和使用方法。【实验仪器】计算机【实验步骤与内容】(含源程序)1. 中国剩余定理:“有物不知几何,三三数余一,五五数余二,七七数余三,问:物有几何?”要求编写函数,求1000以内所有解
2、。#includestdio.hmain() long m; clrscr(); for(m=7;m=1000;m+) if(m%3=1&m%5=2&m%7=3) printf(%4d,m);结果为:52 157 262 367 472 577 682 787 892 9972. 打印所有水仙花数。所谓水仙花数是指这样的三位正整数,其各位数字立方和等于该数本身。#includestdio.hlong f1(int n)int s; s=(n%10)*(n%10)*(n%10)+(n/10)%10)*(n/10)%10)*(n/10)%10)+(n/100)*(n/100)*(n/100); r
3、eturn s;main() long m; clrscr(); for(m=100;m1000;m+) if(m=f1(m) printf(%4d,m);所有水仙花数为:153 370 371 4073. 求两个整数的最大公约数和最小公倍数,用一个函数求最大公约数,用另一个函数根据求出的最大公约数求最小公倍数。1) 用全局变量的方法。将两个整数的最大公约数、最小公倍数都设为全局变量。#include stdio.hint gcd,lcm;int g(int a,int b)int t; while(b!=0)t=a%b;a=b;b=t; gcd=a; return gcd;int l(int
4、 a,int b)lcm=a*b/gcd; return lcm;main()int a,b;clrscr();scanf(%d%d,&a,&b);printf(gcd=%dn,g(a,b);printf(lcm=%d,l(a,b);2) 不用全局变量,两个整数在主函数输入,并传送给函数 1,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数 2,以求出最小公倍数,返回到主函数输出最大公约数和最小公倍数。#includestdio.hint g(int a,int b)int t; while(b!=0) t=a%b;a=b;b=t; return a;int l(int a,int b)int m; m=a*b/g(a,b); return m;main()int a,b;clrscr();scanf(%d%d,&a,&b);printf(gcd=%dn,g(a,b);printf(lcm=%d,l(a,b);【实验结果分析与体会】注意:、实验名称应包含实验序号,如实验一、实验二等;、预习情况由指导教师填写;、源程序应该在实验前预先编写好,在实验时根据调试结果直接在报告上进行修改,并由指导教师检查、签字;、实验报告既可以打印,也可以手写。 西南交通大学 信息科学与技术学院软件工程实验中心 实验报告 第 页 / 共 页