深 圳 大 学 实 验 报 告
课程名称: 程序设计基础
实验项目名称: 函数应用
学院: 计算机与软件学院
专业:
指导教师: 朱映映
报告人: 文成 学号:2011150259 班级: 5
实验时间: 2011-12-12
实验报告提交时间: 2011-12-25
教务处制
一、实验目的与要求: 实验目的: 1.掌握自定义函数的一般结构及定义函数的方法。 2.掌握形参、实参、函数原型等重要概念。 3.掌握函数声明、函数调用的一般方法。 4.掌握递归函数的设计方法。 实验要求: 1.输入数据、输出数据应加以说明(交互性); 2.程序应注意使用注释语句(可读性); 3.对各种可能的输入情况都要考虑处理方案(健壮性); 4.养成好的编程风格; 5.在Webcc上提交C++源程序或执行文件、输出界面拷屏实验报告。 6.按报告内容要求完成实验报告。 二、实验环境: 地点: D506 硬件环境:奔四 机器编号: 软件环境: 操作系统 WINDOS XP C++语言环境 VC 6.0 project类型:WIN32 Console Application 三、实验内容: 1.设计1个递归函数求斐波那契数列的前n项。斐波那契数列的第1项和第2项的值都为1,以后各项的值为其前两项值之和。 2.设计求完全平方数的函数,其功能是:在3位整数(100—999)中寻找既是完全平方数(某个数的平方),又有两位数字相同的整数,例如144,676等,并依次从小到大存入数组b中,满足该条件的整数个数通过所设计的函数返回。 3.5个学生,4门课,要求主函数分别调用各函数实现: (1)找出成绩最高的学生序号和课程。 (2)找出不及格课程的学生序号及其各门课的全部成绩。 (3)求全部学生各门课程的平均分数,并输出。 4. 设计菜单程序,可将所做的习题和上述实验集中在一个程序中。例如,运行后首先在屏幕显示如下菜单,当输入数值1后,调用素数判断的函数程序;输入数值2后,调用完全平方数的函数程序;输入数值3后,调用求最大公约数的函数程序;输入数值4后,调用Fibonacci数列的递归函数程序;输入数值5后结束程序。 ********************************** 2 / 13
* Menu section * * 1. 素数判断 * * 2. 完全平方数 * * 3. 求最大公约数 * * 4. 斐波那契数列 * * 5. Exit * ********************************** 四、实验步骤与过程:(给出程序分析和算法描述(流程图或文字)、程序核心代码。) 算法描述写在代码的注释之中 (1). #include
int a,b,c,j=0,n=0; for(int i=10;i<32;i++) { c=(i*i); a=(i*i)/100; b=(i*i)/10-10*a; if(a==b || b==c || a==c)//判断是否有2位数字是一样的 { array[j]=i*i; j++; n++; } else continue; } array[j]='\\0'; return j;//返回值是满足该条件的整数的个数 } void main() { int b[30]; func(b);//调用求完全平方数的函数 for(int i=0;b[i]!='\\0';i++)//输出该数组 cout< int T3_1(int array[]);//找出成绩最高的学生序号 void T3_2(int a[],int b[],int c[],int d[]);//找出不及格课程的学生序号及其各门课的全部成绩。 double T3_3(int array[]);//求平均分数 void main() { int a[5],b[5],c[5],d[5],i; cout<<\请依次输入这五名学生的科目1成绩\输入科目成绩 for(i=0;i<5;i++) cin>>a[i]; cout<<\请依次输入这五名学生的科目2成绩\4 / 13
for(i=0;i<5;i++) cin>>b[i]; cout<<\请依次输入这五名学生的科目3成绩\ for(i=0;i<5;i++) cin>>c[i]; cout<<\请依次输入这五名学生的科目4成绩\ for(i=0;i<5;i++) cin>>d[i]; cout<<\科目1成绩最高的学生是:第\名\(1)找出成绩最高的学生序号和课程。 cout<<\科目1成绩最高的学生是:第\名\ cout<<\科目1成绩最高的学生是:第\名\ cout<<\科目1成绩最高的学生是:第\名\ T3_2(a,b,c,d);//(2)找出不及格课程的学生序号及其各门课的全部成绩。 cout<<\科目1的平均分数为:\(3)求全部学生各门课程的平均分数,并输出。 cout<<\科目2的平均分数为:\ cout<<\科目3的平均分数为:\ cout<<\科目4的平均分数为:\ } int T3_1(int array[])//找出成绩最高的学生序号 { for(int i=1,j=1,max=array[0];i<5;i++) if(array[i]>max) { max=array[i]; j++; } return j; } void T3_2(int a[],int b[],int c[],int d[])//找出不及格课程的学生序号及其各门课的全部成绩。 { for(int i=0;i<4;i++) if (a[i]<60 || b[i]<60 || c[i]<60 || d[i]<60) cout<<\第\名学生有不合格的科目,他的成绩依次为:\\} double T3_3(int array[])//求平均分数 { double sum,average; sum=array[0]+array[1]+array[2]+array[3]; 5 / 13
实验报告函数
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)