下载此文档

C语言程序设计实验报告.doc


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
C语言程序设计实验报告
实验名称
计算出1000以内最大的10个素数之和
学院
理学院
专业班级
生物04
姓名
郭颖
学号
20040938
任课教师
高克宁
实验时间
2006年12 月05 日
实验目的
熟练掌握if、if…else、if…else if语句和switch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。
熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。
掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学****调试程序,掌握语法错误和逻辑错误的检查方法。
实验内容
由用户键入一个小于1000的数,计算并输出小于该数的最大10个素数以及他们的和。
要求:(1)在程序内部加必要的注释。
(2)由于偶数不是素数,可以不考虑对偶数的处理。
(3)虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的
情况进行处理。
(4)输出形式为:素数1+素数2+素数3+…素数10=总和值。
算法描述流程图
主函数流程图如下:

源程序
#include<>
#include<>
int IsPrime(int n) /*用于判断是否为素数的子函数:是素数返回1,不是素数返回0*/
{
int i; /*声明一个变量作因子*/
if((n==2)||(n==3)) return 1; /*接收的实参是2或3,为素数,返回1*/
for(i=2;i<=sqrt(n);i++) /*循环判断是否为素数*/
if(n%i==0) break; /*将因子从2到sqrt(n)遍历,n能被i整除则跳出循环*/
if(i>sqrt(n)) return 1; /*判断因子i,大于sqrt(n),说明n从2到sqrt(n)无因子,n为素数,返回1*/
else return 0; /*因子小于sqrt(n)说明n不是素数,返回0*/
}
main()
{
int i=0,j,k,n=0,sum=0,a[10]={0}; /*声明变量及赋值*/
printf("\nPlease input a integer:");
scanf("%d",&k); /*从键盘键入一个数,存入k*/
if(k==2) j=k; /*若接收数据为2,则将k赋值给j*/
else if(k%2==0) j=k-1; /*不对偶数进行判断,将偶数减1变成奇数赋值给j*/
else j=k; /*将奇数直接赋值给j*/
for(;j>1;)
{
if(IsPrime(j)==1) /*调用子函数判断j是素数*/
{ if(n==10) break; /*若计数变量为10则跳出循环,不是则继续执行下一条语句*/
a[i]=j; /*将素数j保存到数组单元*/
i++; /*数组下标自增1*/
sum+=j; /*将此素数加到总和值里*/
n++; /*计数变量自增1*/
if(j==3) { a[i]=2; sum=sum

C语言程序设计实验报告 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人fr520520
  • 文件大小221 KB
  • 时间2018-06-23