网站大量收购独家精品文档,联系QQ:2885784924

C语言实验报告8.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

134****4822 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档