c语言程序设计实验报告函数Word文档下载推荐.docx
《c语言程序设计实验报告函数Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《c语言程序设计实验报告函数Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
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<
stdio.h>
intprimNum(intx)/*编写函数判断某个数是否是素数*/
{
inti;
if(x==0||x==1)/*当x等于1或等于0时判断是否为素数*/
return0;
for(i=2;
i<
x;
i++)/*当x大于2时判断不为素数的数*/
{
if(x%i==0)
return0;
}
if(x%i)/*当x等于2或不满足上述条件时时判断出该数是素数*/
return1;
}
voidmain()
intn;
printf("
Pleaseinputaninteger:
"
);
/*提示从键盘输入一个数x*/
scanf("
%d"
&
n);
if(primNum(n)==1)/*调用定义的函数*/
%disaprimenumber\n"
n);
/*由函数得出结论判断是否为素数*/
else
printf("
%disnotaprimenumber\n"
(2)个数是否是整数倍关系
intmulNum(inta,intb)/*定义函数确定两个数是否有整数倍关系*/
if(a%b==0)/*判断出a是b的整数*/
return1;
else/*判断出a不是b的整数*/
return0;
voidmain()
{
intm,n;
printf("
pleaseinputtowintegers:
\n"
/*提示从键盘输入两个数*/
scanf("
%d%d"
m,&
/*从键盘输入两个数的值*/
if(mulNum(m,n)==1)/*调用定义的函数并判断输出相应的结果*/
%disamultipleof%d\n"
m,n);
else
%disnotamultipleof%d\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;
}
导致程序不能正确地按照设想的结果运行,在判断清循环体的执行过程后将程序正确地改为了:
}
2〕在判断确定两个数是否是整数倍关系的本实验中,我在定义两个形参时错误地编写成了〔inta,b〕,经检查后改为正确格式〔inta,intb〕。
3〕此外,在编写程序的时候,在标点符号上还有一些细节上的疏漏,如:
标点没有在英文的状态下使用,还有一条语句完毕后遗漏了分号“;
〞。
7实验心得
本次实验,我掌握了一些详细函数的定义和调用方法,函数形参以及返回值的使用。
在操作的过程中深化地体会到函数调用的便捷。
通过对循环和条件选择的使用,我亲自感受并理论了程序设计的思想,同时对C程序设计也有了总体的认识。
此外,编写程序的严谨思想也令我深深地感受一丝不苟地工作的重要性。