千家信息网

c语言程序实例填空题分析

发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本篇内容主要讲解"c语言程序实例填空题分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"c语言程序实例填空题分析"吧!1、题目描述用筛选法可得到2~n(n
千家信息网最后更新 2025年01月24日c语言程序实例填空题分析

本篇内容主要讲解"c语言程序实例填空题分析",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"c语言程序实例填空题分析"吧!

1、题目描述

用筛选法可得到2~n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序列:2,3,5,7,11,13,17,19,23,……

函数fun用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回

请在程序的下划线处填入正确的内容井把下划线删除,使程序得出正确的结果。

注意:源程序存放在考生文件夹下的BLANK1,C中

不得增行或删行,也不得更改程序的结构

2、部分程序:

#include

#pragma warning (disable:4996)

int fun(int n)

{ int a[10000], i,j, count=0;

for (i=2; i<=n; i++) a[i] = i;

i = 2;

while (i

/**********found**********/

for (j=a[i]*2; j<=n; j+=___1___)

a[j] = 0;

i++;

/**********found**********/

while (___2___==0)

i++;

}

printf("\nThe prime number between 2 to %d\n", n);

for (i=2; i<=n; i++)

/**********found**********/

if (a[i]!=___3___)

{ count++; printf( count?"%5d":"\n%5d",a[i]); }

return count;

}

main()

{ int n=20, r;

r = fun(n);

printf("\nThe number of prime is : %d\n", r);

}

3、参考答案:

本题考查的是筛选算法。

本程序的 while循环中又嵌套了一个for和 while循环,内嵌的for循环用于进行素数倍数的筛选,筛选的步长为a[i],故第一空填a[i];内嵌的 while循环用于判断下一个即将被筛选的数是否为零,如果为零,则跳过(通过i++实现),即不对它的倍数进行筛选,估第二空应填a[i];最后通过一个for循环统计素数的个数,其中的if用于判断a[i]是否为零,如果为零则说明a[i]不是素数,如果不为零则说明a[i]为素数,使得记录素数个数的变量 count+1,故第三空应填0。

到此,相信大家对"c语言程序实例填空题分析"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

素数 程序 循环 个数 倍数 实例 语言 语言程序 分析 内容 下划线 函数 方法 学习 统计 不对 实用 更深 依此类推 之间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 榆林市公安局网络安全支队支队长 在关系数据库中表之间的关系 无源光网络技术授权处理 如何建设好软件开发交付中心 软件开发生产管理 共享售货机系统软件开发 网络安全与大数据应用工程 服务器被防火墙屏蔽 服务器与路由器的设置 ap认证软件开发前景 湖南极客互联网科技 2021甘肃青少年网络安全 手机网络安全体检在哪里 嘉定工商银行数据库 网信部门在网络安全 服务器聚合网卡后重启mac改变 深圳在线内训软件开发 数据库信息模型是概念模型吗 数据库中知道出生日期查年龄 小学网络安全活动总结报告 广东雅量软件开发有限公司 多维数据库运算速度 网络安全专业高职比例 数据库技术及应用重要吗 人工智能和网络安全的区别 手机网络安全体检在哪里 2018网络安全国内外现状 丽水云软件开发亿连信 网络安全红队蓝队 华为服务器和小型机哪个好
0