- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
C语言程序设计实验报告
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=总和值。
1
算法描述流程图
Main函数:
判断素数:
源程序
#include
#include
intsushu(intn)/*判断素数的函数*/
{
intt,i;
t=sqrt(n);
for(i=2;ii++)
if(n%i==0)/*如果不是素数,返回0*/
return0;
returnn;/*如果是素数,返回该数*/
}
voidmain()
{
inti,j=0,n,m=0,a[1000],x;
/*clrscr();*/
printf(Pleaseinputanumberform1to1000:);
scanf(%d,
if(x==2)/*x=2时的处理*/
2
printf(%d\n,x);
elseif(x=1)/*x在1~1000范围外时的处理*/
printf(Error!\n);
else
{
if(x%2==0)/*x为偶数时,把x变为奇数*/
x--;
for(i=x;ii-=2)/*x为奇数时,做函数计算*/
{
n=sushu(i);/*做判断素数的函数调用*/
if(n!=0)/*对素数的处理*/
{
a[j]=n;/*把素数由大至小存入数组a[]中*/
j++;
if(j11)
m+=n;/*统计前10个素数之和*/
}
}
if(j10)/*当素数个数小于10个时,结果输出*/
{
for(i=0;i
{
3
n=a[i];
printf(%d,n);
printf(+);
}
printf(2=);
printf(%d\n,m+2);
}
elsefor(i=0;ii++)/*当素数个数大于等于10个时,结果输出
*/
{
n=a[i];
printf(%d,n);
if(i9)
printf(+);
else
{
printf(=);
printf(%d\n,m);
}
}
}
}
4
测试数据
分别输入1000、100、10测试。
运行结果
出现问题及解决方法
当素数个数小于10时的处理不够完善,考虑不够周全。把“+
2”的处理做的太勉强。
程序过大,不够精简,无用文字太多。
学习耐心与细心不足,如scanf(“%d”,中的“”经常忘记
文档评论(0)