欢迎来到天天文库
浏览记录
ID:8977483
大小:169.00 KB
页数:10页
时间:2018-04-13
《c语言程序设计实验报告(函数)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、C语言程序设计实验报告(实验名称:函数)1实验目的(1)掌握函数的定义方法、调用方法、参数说明以及返回值;(2)掌握实参与形参的对应关系,以及参数之间的“值传递”的方式;(3)掌握函数的嵌套调用及递归调用的用的设计方法;(4)在编程过程中加深理解函数调用的程序设计思想。2实验内容(1)编写一个函数primeNum(intx),功能是判别一个数是否为素数。要求:①在主函数中输入一个整数x(直接赋值或从键盘输入);②函数类型为空值(void),调用primeNum()函数后,在函数中输出x是否为素数的信息,输出格式为“xisa
2、primenumber”或”xisnotaprimenumber”;③分别输入一下数据:0,1,2,5,9,13,59,121,并运行程序,检查结果是否正确。(2)编写函数mulNum(inta,intb),它的功能是用来确定a和b是否是整数倍的关系。如果a是b的整数倍,则函数返回值为1,否则函数返回值为0。要求:①在主函数中从键盘输入一对整型数据a和b;②调用函数后,根据返回值对a和b的关系进行说明。例如,在主函数中输入:10,5,则输出“10isamultipleof5”;③分别输入下面几组数据进行函数的正确性测试:1
3、与5,5与5,6与2,6与4,20与4,37与9。3算法描述流程图(1)primeNum(intx)(判别一个数是否是素数)函数流程图①主函数流程图:声明变量n输入n判断n是否为素数?输出该数是素数输出该数不是素数结束假真提示输入一个数开始②判断素数函数流程图:定义函数primNum(intx)声明变量x及循环变量ii==0或i==1?i=2返回0值结束假真真返回1值假真开始假i+1i4、n判断m是否为n的倍数?输出m是n的倍数输出m不是n的倍数结束假真提示输入两个数开始②判断倍数流程图:定义函数mulNum(inta,intb)声明变量a、ba%b==0?返回0值结束真返回1值假开始4源程序(1)判断某个数是否是素数#includeintprimNum(intx)/*编写函数判断某个数是否是素数*/{inti;if(x==05、6、x==1)/*当x等于1或等于0时判断是否为素数*/return0;for(i=2;i7、turn0;}if(x%i)/*当x等于2或不满足上述条件时时判断出该数是素数*/return1;}voidmain(){intn;printf("Pleaseinputaninteger:");/*提示从键盘输入一个数x*/scanf("%d",&n);if(primNum(n)==1)/*调用定义的函数*/printf("%disaprimenumber",n);/*由函数得出结论判断是否为素数*/elseprintf("%disnotaprimenumber",n);}(2)个数是否是整数倍关系#includ8、eintmulNum(inta,intb)/*定义函数确定两个数是否有整数倍关系*/{if(a%b==0)/*判断出a是b的整数*/return1;else/*判断出a不是b的整数*/return0;}voidmain(){intm,n;printf("pleaseinputtowintegers:");/*提示从键盘输入两个数*/scanf("%d%d",&m,&n);/*从键盘输入两个数的值*/if(mulNum(m,n)==1)/*调用定义的函数并判断输出相应的结果*/printf("%disa9、multipleof%d",m,n);elseprintf("%disnotamultipleof%d",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)在判断10、某个数是否是素数的本实验中,我在使用循环遍历判断x是否为素数的时候循环体的内容错误地编写为:for(i=2;i
4、n判断m是否为n的倍数?输出m是n的倍数输出m不是n的倍数结束假真提示输入两个数开始②判断倍数流程图:定义函数mulNum(inta,intb)声明变量a、ba%b==0?返回0值结束真返回1值假开始4源程序(1)判断某个数是否是素数#includeintprimNum(intx)/*编写函数判断某个数是否是素数*/{inti;if(x==0
5、
6、x==1)/*当x等于1或等于0时判断是否为素数*/return0;for(i=2;i7、turn0;}if(x%i)/*当x等于2或不满足上述条件时时判断出该数是素数*/return1;}voidmain(){intn;printf("Pleaseinputaninteger:");/*提示从键盘输入一个数x*/scanf("%d",&n);if(primNum(n)==1)/*调用定义的函数*/printf("%disaprimenumber",n);/*由函数得出结论判断是否为素数*/elseprintf("%disnotaprimenumber",n);}(2)个数是否是整数倍关系#includ8、eintmulNum(inta,intb)/*定义函数确定两个数是否有整数倍关系*/{if(a%b==0)/*判断出a是b的整数*/return1;else/*判断出a不是b的整数*/return0;}voidmain(){intm,n;printf("pleaseinputtowintegers:");/*提示从键盘输入两个数*/scanf("%d%d",&m,&n);/*从键盘输入两个数的值*/if(mulNum(m,n)==1)/*调用定义的函数并判断输出相应的结果*/printf("%disa9、multipleof%d",m,n);elseprintf("%disnotamultipleof%d",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)在判断10、某个数是否是素数的本实验中,我在使用循环遍历判断x是否为素数的时候循环体的内容错误地编写为:for(i=2;i
7、turn0;}if(x%i)/*当x等于2或不满足上述条件时时判断出该数是素数*/return1;}voidmain(){intn;printf("Pleaseinputaninteger:");/*提示从键盘输入一个数x*/scanf("%d",&n);if(primNum(n)==1)/*调用定义的函数*/printf("%disaprimenumber",n);/*由函数得出结论判断是否为素数*/elseprintf("%disnotaprimenumber",n);}(2)个数是否是整数倍关系#includ
8、eintmulNum(inta,intb)/*定义函数确定两个数是否有整数倍关系*/{if(a%b==0)/*判断出a是b的整数*/return1;else/*判断出a不是b的整数*/return0;}voidmain(){intm,n;printf("pleaseinputtowintegers:");/*提示从键盘输入两个数*/scanf("%d%d",&m,&n);/*从键盘输入两个数的值*/if(mulNum(m,n)==1)/*调用定义的函数并判断输出相应的结果*/printf("%disa
9、multipleof%d",m,n);elseprintf("%disnotamultipleof%d",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)在判断
10、某个数是否是素数的本实验中,我在使用循环遍历判断x是否为素数的时候循环体的内容错误地编写为:for(i=2;i
此文档下载收益归作者所有