函数程序设计C语言(麦).doc
文本预览下载声明
实验五 函数程序设计
班级: xxxxx 学号:xxxxxxxx 姓名:麦华锋 评分:
一.【实验目的】1、熟练掌握函数的定义和调用。
2、熟练掌握使用函数编写程序。
3、掌握函数的实参、形参和返回值的概念及使用。
4、掌握单步调试进入函数和跳出函数的方法。
二.【实验内容和步骤】A.目标:进一步学习掌握程序调试的方法和技巧。
B.内容:参照《实验指导》教材P46“1.调试示例”,从键盘输入一个正整数n,计算n!的值。改正程序中的错误,使其实现程序的功能。(注:程序文件保存在“调试示例”文件夹中,文件名为error06_1.cpp)
① 调试正确的源程序清单
#include stdio.h
int main(void)
{
int n;
double f;
double fact(int m);
printf(Input n: );
scanf(%d, n);
f = fact(n); /*调试时设置断点*/
printf(%d!=%f\n, n, f);
return 0; /*调试时设置断点*/
}
double fact(int m)
{
int i;
double product=1;
for ( i = 1; i = m; i++ )
product = product * i;
return product; /*调试时设置断点*/
}
② 运行结果题目()repeat(0repeat10),做repeat次下列运算:输入1个正整数n,计算s的前n项的和(保留4位小数),要求:定义并调用函数fact(n)计算n的阶乘。(注:文件保存文件夹中)① 调试正确的源程序清单
//程序功能:从键盘上输入一个正整数 repeat (0repeat10),做repeat 次下列运算:
// 输入1个正整数n,求s=1+1/2!+....+1/n!的值(保留4位小数),要求:
// 定义并调用函数fact(n)计算n的阶乘。
//提示:除在指定位置添加语句之外,请不要改动程序中的其他内容。
#include stdio.h
int main( )
{
int ri,repeat;
int i,n;
double s;
double fact(int n);
scanf(%d,repeat);
for(ri=1;ri=repeat;ri++)
{
scanf(%d,n);
//请在两条星线之间填入相应的代码, 求s=1+1/2!+....+1/n!的值(使用循环结构)
//要求:调用函数fact(n)计算n的阶乘。
/***********************************************************************/
s=0;
for(i=1;i=n;i++)
s=s+1.0/fact(i);
/***********************************************************************/
printf(%0.4f\n,s);
}
}
double fact(int n) //定义求n!的函数
{
double product;
int i;
//请在两条星线之间填入相应的代码, 计算正整数n的阶乘(要求使用循环结构求n!)
/************************************************************************/
product=1;
for(i=1;i=n;i++)
product=product*i;
/************************************************************************/
return product;
}
② 运行结果题目()a+aa+aaa+aa…a(n个a)。程序功能:从键盘上输入一个正整数repeat(0repeat10),做repeat次下列运算:输入2个正整数a和n,求a+aa+aaa+aa?a(n个a)之和。要求定义并调用函数fn(a,n),它的功能是返回aa?a(n个a)。例如,fn(3,2)的返回值是33。(注:文件保存文件夹中)① 调试正确的源程序清单
//程序功能:从键盘上输入一个正整数 repe
显示全部