c语言程序设计实验报告函数.docx
《c语言程序设计实验报告函数.docx》由会员分享,可在线阅读,更多相关《c语言程序设计实验报告函数.docx(10页珍藏版)》请在冰豆网上搜索。
c语言程序设计实验报告函数
C语言程序设计实验报告〔实验名称:
函数〕
1实验目的
(1)掌握函数的定义方法、调用方法、参数说明以及返回值;
(2)掌握实参与形参的对应关系,以及参数之间的“值传递〞的方式;
(3)掌握函数的嵌套调用及递归调用的用的设计方法;
(4)在编程过程中加深理解函数调用的程序设计思想。
2实验内容
(1)编写一个函数primeNum(intx),功能是判别一个数是否为素数。
要求:
1在主函数中输入一个整数x〔直接赋值或从键盘输入〕;
2函数类型为空值〔void〕,调用primeNum()函数后,在函数中输出x是否为素数的信息,输出格式为“xisaprimenumber〞或〞xisnotaprimenumber〞;
3分别输入一下数据:
0,1,2,5,9,13,59,121,并运行程序,检查结果是否正确。
(2)编写函数mulNum(inta,intb),它的功能是用来确定a和b是否是整数倍的关系。
假设a是b的整数倍,那么函数返回值为1,否那么函数返回值为0。
要求:
1在主函数中从键盘输入一对整型数据a和b;
2调用函数后,根据返回值对a和b的关系进展说明。
例如,在主函数中输入:
10,5,那么输出“10isamultipleof5”;
3分别输入下面几组数据进展函数的正确性测试:
1与5,5与5,6与2,6与4,20与4,37与9。
3算法描绘流程图
(1)primeNum(intx)〔判别一个数是否是素数〕函数流程图
主函数流程图:
判断素数函数流程图:
〔2〕mulNum(inta,intb)〔确定a和b是否是整数倍的关系〕函数流程图
主函数流程图:
判断倍数流程图:
4源程序
〔1〕判断某个数是否是素数
#include
intprimNum(intx)/*编写函数判断某个数是否是素数*/
{
inti;
if(x==0||x==1)/*当x等于1或等于0时判断是否为素数*/
return0;
for(i=2;i{
if(x%i==0)
return0;
}
if(x%i)/*当x等于2或不满足上述条件时时判断出该数是素数*/
return1;
}
voidmain()
{
intn;
printf("Pleaseinputaninteger:
");/*提示从键盘输入一个数x*/
scanf("%d",&n);
if(primNum(n)==1)/*调用定义的函数*/
printf("%disaprimenumber\n",n);/*由函数得出结论判断是否为素数*/
else
printf("%disnotaprimenumber\n",n);
}
(2)个数是否是整数倍关系
#include
intmulNum(inta,intb)/*定义函数确定两个数是否有整数倍关系*/
{
if(a%b==0)/*判断出a是b的整数*/
return1;
else/*判断出a不是b的整数*/
return0;
}
voidmain()
{
intm,n;
printf("pleaseinputtowintegers:
\n");/*提示从键盘输入两个数*/
scanf("%d%d",&m,&n);/*从键盘输入两个数的值*/
if(mulNum(m,n)==1)/*调用定义的函数并判断输出相应的结果*/
printf("%disamultipleof%d\n",m,n);
else
printf("%disnotamultipleof%d\n",m,n);
}
5测试数据
〔1〕实验〔1〕测试数据为0,1,2,5,9,13,59,121
运行结果
当测试数据0时
当测试数据1时
当测试数据2时
当测试数据5时
当测试数据9时
当测试数据13时
当测试数据59时
当测试数据121时
(2)实验2测试的数据1与5,5与5,6与2,6与4,20与4,37与9。
运行结果
当测试1与5时
当测试5与5时
当测试6与2时
当测试6与4时
当测试20与4时
当测试37与9时
6出现问题及解决方法
1〕在判断某个数是否是素数的本实验中,我在使用循环遍历判断x是否为素数的时候循环体的内容错误地编写为:
for(i=2;i{
if(x%i==0)
return0;
else
return1;
}
导致程序不能正确地按照设想的结果运行,在判断清循环体的执行过程后将程序正确地改为了:
for(i=2;i{
if(x%i==0)
return0;
}
2〕在判断确定两个数是否是整数倍关系的本实验中,我在定义两个形参时错误地编写成了〔inta,b〕,经检查后改为正确格式〔inta,intb〕。
3〕此外,在编写程序的时候,在标点符号上还有一些细节上的疏漏,如:
标点没有在英文的状态下使用,还有一条语句完毕后遗漏了分号“;〞。
7实验心得
本次实验,我掌握了一些详细函数的定义和调用方法,函数形参以及返回值的使用。
在操作的过程中深化地体会到函数调用的便捷。
通过对循环和条件选择的使用,我亲自感受并理论了程序设计的思想,同时对C程序设计也有了总体的认识。
此外,编写程序的严谨思想也令我深深地感受一丝不苟地工作的重要性。