欢迎来到天天文库
浏览记录
ID:35240304
大小:43.82 KB
页数:3页
时间:2019-03-22
《高级语言程序设计(c语言)实验报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、高级语言程序设计(C语言)实验报告实验名称判断十个数哪个为素数实验时间2012/11/30专业班级学院姓名学号1实验目的:(1)熟练掌握if,if-else语句,利用if语句实现分支选择结构;(2)熟练掌握for语句格式及使用方法;(3)掌握C函数的定义方法,函数的调用方法,参数说明以及返回值;(4)掌握一维数组的定义、引用及应用;2实验内容:编写一个primeNun(intx)函数,判断十个数中哪个是素数。要求:①定义一个十个元素的一位数组,数组由键盘输入;②函数类型为空值(void),调用primeNun(intx)函数后,在函数中输出十个数中的素数;③运行程序,
2、检查是否正确。3算法描述(可用流程图)Step1:输入10个整数;Step2:引用函数primeNum(intx),依此判断十个数是否为素数;Step3:输出十个数中的素数。4源程序(要求注释)#include#includeintprimeNum(intn)/*判断输入数字是否是素数的函数*/{inti,k,m;m=0;if(n!=0)/*排除数字0*/k=(int)sqrt(n)+1;for(i=2;i<=k;i++)if(n%i==0)m=m+1;if(m==0)return1;/*如果是素数返回1*/elsereturn0;/
3、*若不是素数返回0*/}main(){inta[10],i;/*定义一个十个元素的一维数组*/printf("pleaseinput10numbers:");for(i=0;i<10;i++){scanf("%d",&a[i]);}/*输入十个数*/printf("Theprimenumber:");for(i=0;i<10;i++){if(1==primeNum(a[i]))/*调用primeNum(intx)函数,判断是否为素数*/printf("%d",a[i]);/*输出是素数的数*/}}5测试数据第一组:12345678990;第二组:3456789
4、032;第三组:23213456789032106运行结果第一组:1357;第二组:3573;第三组:2331;7调试过程出现的问题及解决方法①、首先是语法、符号的错误,比如%打成了/;break是终止整个程序的操作;②、inti,k,m;m=0;if(n==0)return0;elsek=(int)sqrt(n)+1;for(i=2;i<=k;i++)这是原来编写的函数部分,忽略了n=0的情况,所以加了一个判断语句;③、for(i=0;i<10;i++){scanf("%d",&a[i]);}/*输入十个数*/printf("Theprimenumber:");
5、for(i=0;i<10;i++){if(1==primeNum(a[i]))用了一个for语句也可以运行出来:main(){inta[10],i;printf("pleaseinput10numbers:");for(i=0;i<10;i++){scanf("%d",&a[i]);if(1==primeNum(a[i]))printf("Theprimenumber:%d",a[i]);}但是每一个输出的数前面都有“Theprimenumber:”影响美观,所以用了两个for。③、if(1==primeNum(a[i]))printf("Theprimenumb
6、er:%d",a[i]);}这是主函数部分,输出后的数都带有”Theprimenumber:”并不美观,所以把它提到了for循环的前面。8总结心得1.加深了对if判断语句的应用理解;2.理解了调用函数以及函数的返回值的意义;3.学会了一维数组的引用;4.加深了对for循环语句的理解,有多个语句时要加{};5.编程时失误很多,一直在重来,调试,修改,完善。需要足够的耐心与热情。
此文档下载收益归作者所有