电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

C语言程序设计实验报告-c语言实验上机报告答案

C语言程序设计实验报告-c语言实验上机报告答案_第1页
1/8
C语言程序设计实验报告-c语言实验上机报告答案_第2页
2/8
C语言程序设计实验报告-c语言实验上机报告答案_第3页
3/8
C 语言程序设计实验报告 c 语言实验上机报告答案 实验名称计算出 1000 以内 10 个最大素数之和 实验目的 1、熟练掌握 if、if…else、if…elseif 语句和 witch 语句格式及使用方法,掌握 if 语句中的嵌套关系和匹配原则,利用 if 语句和 switch 语句实现分支选择结构。 2、熟练掌握 while 语句、do…while 语句和 for 语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。 3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。 实验内容 计算并输出 1000 以内最大的 10 个素数以及它们的和。 要求: 在程序内部加必要的注释。 由于偶数不是素数,可以不考虑对偶数的处理。 虽然在 1000 以内的素数超过 10 个,但是要对 1000 以内不够 10 个素数的情况进行处理。 输出形式为:素数 1+素数 2+素数 3+…+素数 10=总和值。 算法描述流程图 Main 函数: 推断素数: 源程序 #include #include intsushu(intn)/*推断素数的函数*/ { intt,i; t=sqrt(n); for(i=2;i<=t;i++) if(n%i==0)/*假如不是素数,返回 0*/ return0; returnn;/*假如是素数,返回该数*/ } voidmain() { inti,j=0,n,m=0,a[1000],x; /*clrscr();*/ printf("Pleaseinputanumberform1to1000:"); scanf("%d",&x); if(x==2)/*x=2 时的处理*/ printf("%dn",x); elseif(x1;i-=2)/*x 为奇数时,做函数计算*/ { n=sushu(i);/*做推断素数的函数调用*/ if(n!=0)/*对素数的处理*/ { a[j]=n;/*把素数由大至小存入数组 a[]中*/ j++; if(j<11) m+=n;/*统计前 10 个素数之和*/ } } if(j<10)/*当素数个数小于 10 个时,结果输出*/ { for(i=0;i { n=a[i]; printf("%d",n); printf("+"); } printf("2="); printf("%dn",m+2); } elsefor(i=0;i<10;i++)/*当素数个数大于等于 10 个时,结果输出*/ { n=a[i]; printf("%d",n); if(i<9) printf("+"); else { printf("="); printf("%dn",m); } } } } 测试数据 分别输入 1000、100、10 测试。 运行结果 出现问题及解决方法 当素数个数小于 10 时的处理不够完善,考虑不够周全。把“+2”的处理做的太牵强。 程序过大,不够精简,无用文字太多。 学习耐心与细心不足,如 scanf(“%d”,&n);中的“&”常...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

C语言程序设计实验报告-c语言实验上机报告答案

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部