- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
洛阳理工学院实验报告
系部
计算机系
班级
B130503
学号
姓名
课程名称
高级语言程序设计
实验日期
2014.4.28
实验名称
函数的应用
成绩
实验目的:
1. 掌握定义和声明函数的方法。
2. 掌握函数实参与形参的对应关系,以及“值传递”的方式。
3. 掌握函数的嵌套调用和递归调用的方法。
4. 掌握全局变量和局部变量的概念和用法。
实验条件:
电脑一台,VC++6.0
实验内容与步骤:
内容:
1. 写一个判别素数的函数,在主函数输入一个正整数,输出是否为素数的信息。本程序应准备以下测试数据:17、34、2、1、0,分别输入数据,运行程序并检查结果是否正确。
程序提示:
(1) 求素数函数:
int prime(int n)
{int i,flag;
/*i循环变量,flag标记n是否为素数,1是素数,0不是素数*/
if n2 flag=0; /*小于2的数一定不是素数*/
else if n==2||n==3 flag=1; /*2或3是素数*/
else
{
for(i=2;i=n/2;i++)
/*从2开始扫描,到n/2为止,若都不能整除n,则n是素数,否则不是素数*/
if n能被i整除 flag=0;break;
if in/2 flag=1; /*i一直不能整除n,此时n一定是素数*/
}
}
问:函数prime的for循环中,“i=n/2”的“=”能否去掉,去掉会出现什么问题?break语句能否去掉,试分析。
(2) 要求所编写的程序主函数的位置在其他函数之前,在主函数中对其所调用的函数作声明。
(3) 保留判别素数的函数,修改主函数,要求实现输出100-200之间的素数。
2. 编写一个函数,将一个字符串中的元音字母复制到另一个字符串,然后输出。
程序提示:
(1) 输入程序,编译和运行程序,分析结果。
(2) 分析函数声明中参数的写法。先后用以下两种形式:
= 1 \* GB3 ① 函数声明中参数的写法与定义函数时的形式完全相同,如:
void cpy(char s[],char c[]);
= 2 \* GB3 ② 函数声明中参数的写法与定义函数时的形式完全相同,省略数组名。如:
void cpy(char s[],char []);
分析编译和运行,分析结果。
(3) 思考形参数组为什么可以不指定数组大小,如:
void cpy(char s[80],char [])
如果随便指定数组大小行不行,如:
void cpy(char s[40], char [40])
请分别上机试一下。
3. 输入10个学生5门课的成绩,分别用函数实现下列功能:
= 1 \* GB3 ①计算每个学生平均分。
= 2 \* GB3 ②计算每门课的平均分。
③找出所有50个分数中最高的分数所对应的学生和课程。
4. 写一个函数,输入一个4位数,要求输出这4位数字字符,但每两个数字间空一个空格。
5. 编写一个函数,由实参传来一个字符串,统计此字符串字母、数字、空格和其他字符的个数,在主函数中输入一串字符串以及输出上述的结果。
步骤:
第1题步骤:
Step1:输入一个正整数n,定义一个变量flag;
Step2:进入子函数如果n等于1,给flag赋值为0;
Step3: 判断n可以整除除了1和n之外的数;如果可以则给flag赋值为0,否则赋值为1;将flag的值返回给主函数;
Step4:如果flag=1,输出该数是素数,否则输出该数不是素数.
第2题步骤:
Step1:定义两个数组a[80],b[40];
Step2: 输入一个字符串,赋给数组a;
Step3:进入子函数,将数组a中的元音字母挑选出来复制给数组b;
Step4:输出数组b.
第3题步骤:
Step1:定义一个二维数组a[10][5],输入是个学生的成绩赋值给数组a;
Step2:进入子函数float aver1(float a[][5])计算出每位学生的平均成绩,将值赋值给aver1并返回给主函数,输出平均成绩;
Step3:进入子函数float aver2(float a[][5]) 计算出学生的每门科目的平均成绩,将值赋给aver2并返回给主函数,输出平均成绩;
Step4:在子函数 float max(float a[][5])中将最高分选出来,之后将其对应数组行和竖求出来输出,将最高分返回给主函数并输出。
第4题步骤:
Step1:定义两个数组char a[10],char b[10],并输入一个四位数,将其赋值给数组a;
Step2:进入子函数,将数组a里的值赋给数组b的偶数位与第0为,奇数位赋值为空格并将之返回给主函数;
Step3:
文档评论(0)