- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验3-函数 ( 1 )
实验三 函数
实验目的
1、掌握定义函数的方法。
2、掌握函数实参与形参的对应关系以及“值传递”的方式。
3、掌握函数的嵌套调用和递归调用的方法。
4、学习用数组和引用给函数传递参数。
5、掌握函数重载的方法。
6、掌握全局变量和局部变量、动态变量、静态变量的概念和使用方法。
实验内容
1、编写函数isprime(int a)用来判断变量a是否为素数,若是素数,函数返回1,否则返回0。调用该函数找出任意给定的n个整数中的素数。
输入以下程序并调试运行。
#includeiostream
using namespace std;
int main()
{
int a1;
cout请输入n个整数,输入0表示结束:;
cina1;
while(a1)
{
if (isprime(a1))
couta1是素数endl;
else
couta1不是素数endl;
cina1;
}
return 0;
}
int isprime(int a)
{
for (int i=2;ia;i++)
{
if (a%i==0) return 0;
}
return 1;
}
(1) 编译以上程序是否会出现错误,请分析出错原因并改正。
(2) 判断素数的算法,在以前学习循环的时候已经学过了,在这里只是把这个算法用函数的形式表示出来。这里要注意函数的定义、声明的方法和格式。注意体会该程序将常用的功能定义成函数,可以简化程序结构。
2、分析程序运行结果。
输入下列程序,运行它,分析得到的结果。
#includeiostream
using namespace std;
int n=0;
int func(int x=10);
int main()
{
int a,b;
a=5;
b=func(a);
cout\nlocal a=aendl
local b=bendl
global n=nendl;
a++;
b=func(a);
cout\nlocal a=aendl
local b=bendl
global n=nendl;
func();
return 0;
}
int func(int x)
{
int a=1;
static int b=10;
a++;
b++;
x++;
n++;
cout\nloacal a=aendl
local b=bendl
parameter x=xendl;
return a+b;
}
(1) 运行该程序,记录得到的运行结果。
(2) 分析得到的结果.说明为什么得到这样的结果。
3、编写一函数,使给定的一个二维数组(4×4)转置,即行列互换。
输入以下程序,补充完整,并调试运行。
#includeiostream.h
#define N 4
int array[N][N];
void convert(int array[N][N])
{
int i,j,t;
for (i=0; iN; i++ )
for (j=0; ; j++ )
{
t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}
int main()
{
int i,j;
cout输入数组元素:endl;
for ( i=0; iN; i++ )
for ( j=0; jN; j++ )
;
cout数组是:endl;
for ( i=0; iN; i++ )
{
for ( j=0; jN; j++ )
coutarray[i][j]\t;
cout ;
}
convert( ); //调用convert函数对数组进行转置
cout转置数组是:endl;
for ( i=0; iN; i++ )
{
for ( j=0; jN; j++ )
coutarray[i][j]\t;
cout ;
}
return 0;
}
4、编写一组求数组中最大、最小元素的函数。该组函数的原型如下:
int imax( int array[ ], int count ); //求整型数组的最大元素
int imin( int array[ ], int count ); //求整型数组的最小元素
其中,参数count为数组中的元素个数,函数的返回值即为求得的最大或最小元素值。要求同时编写出主函数进行验证。
[实现提示]
以数组的第一个元素为基准数值,扫描后续元素,不断调整基准
您可能关注的文档
- 宏观经济复习题-正式版完整版.doc
- 宏钧进销存软件盘点报费提成及审批相关操作.doc
- 宏钧进销存软件服装鞋帽版本特色说明书.pdf
- 宗教对文学创作的影响及在_红字_中的体现.pdf
- 定,指派律师出席了公司于2011年8月10日召开的2011年度第三次.pdf
- 定义一个抽象基类Shape.doc
- 定义C 全局变量常量几种方法的区别.pdf
- 定了!1月9日,就来里水百合花文化节,邂逅百万株鲜花盛放.pdf
- 定向增发公司盈余管理研究.pdf
- 定向增发比较分析.docx
- 小学科学:ESP8266智能插座电路原理与动手实践研究教学研究课题报告.docx
- 《金融开放浪潮下我国多层次监管体系构建与创新研究》教学研究课题报告.docx
- 区域教育质量监测中人工智能应用的数据质量分析与优化策略教学研究课题报告.docx
- 《金融科技监管中的数据治理与合规性要求》教学研究课题报告.docx
- 《3D打印技术在航空航天领域中的多材料制造与复合材料应用》教学研究课题报告.docx
- 《绿色金融发展中的政府职能与市场机制研究》教学研究课题报告.docx
- 《植物工厂多层立体栽培光环境调控技术对植物生长发育节律的调控机制探讨》教学研究课题报告.docx
- 销售团队年度业绩总结.docx
- 银行风险管理与金融危机防范.docx
- 银行网络攻击预警与快速响应机制.docx
文档评论(0)