首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数intfun(int lim,int aa[MAX]),其功能是求出小于或等于lim的所有素数并放在aa数组中,并返回所求出
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数intfun(int lim,int aa[MAX]),其功能是求出小于或等于lim的所有素数并放在aa数组中,并返回所求出
admin
2020-06-02
41
问题
使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数intfun(int lim,int aa[MAX]),其功能是求出小于或等于lim的所有素数并放在aa数组中,并返回所求出的素数的个数。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容。仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
#define MAX 100
int fun(int lim,int aa[MAX])
{
}
void main()
{
FILE*wf;
int limit,i,sum;
int aa[MAX];
system("CLS");
printf("输入一个整数:");
scanf("%d",&limit);
sum=fun(limit,aa);
for(i=0;i<sum;i++)
{
if(i%10==0&&i!=0)
/*每行输出10个数*/
printf("\n");
printf("%5d",aa
);
}
/*****************/
wf=fopen("out.dat","w");
sum=fun(15,aa);
for(i=0;i<sum;i++)
{
if(i%10==0&&i!=0)
/*每行输出10个数*/
fprintf(wf,"\n");
fprintf(wf,"%5d",aa
);
}
fclose(wf);
/*****************/
}
选项
答案
int fun(int lim,int aa[MAX]) { int i,j,k=0; for(i=2;i<=lim;i++)/*求出小于或等于lim的全部素数*/ { for(j=2;j<i;j++) if(i%j==0)break; if(j>=i) aa[k++]=i;/*将求出的素数放入数组aa中*/ } return k;/*返回所求出的素数的个数*/ }
解析
本程序如果一个数是合数,那么它的最小质因数肯定小于等于他的平方根。使用for循环语句查找小于lim的所有数,使用内嵌的循环判断语句判断该数是否为素数。在做这道题时,需要重点掌握素数的判定方法:
for(j=2;j<sqrt(i);j++)
if(i%j==0)break;
转载请注明原文地址:https://kaotiyun.com/show/OqCp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
当变量13的值不为2、4、6时,值为“真”的表达式是()。
有以下程序:#include<stdio.h>intf(intx);main(){intn=1,m;m=f(f(f(n)));pfinff("%d\n",m);}intf(intx){returnx*2;}程序的运行结
已知字符A的ASCII码值是65,字符变量c1的值是’A’,c2的值是’D’,则执行语句printf("%d,%d",c1,c2-2);的输出结果是()。
若有定义语句:intm[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是
有以下程序intfun(intx[],intn)main(){staticintsum=0,i;{inta[]={1,2,3,4,5),b[]={6,7,8,9),s=
有以下程序#includeintf(intn);main(){inta=3,s;intf(intn){staticinta=1;s=f(a);n+=a
若有以下函数首部intfun(doublex[10],int,*n)则下面针对此函数的函数声明语句中正确的是
程序流程图中带有箭头的线段表示的是
随机试题
什么是群众路线?
下列有关流行性乙型脑炎流行病学的描述,错误的是
以下病因中,与肝硬化无明显关系的是
紫苏的主治病证有
(2011年案例分析第76~80题)2010年2月,北京市巨龙公司与天津市平洋公司签订了一份技术开发合同,商定双方共同开发手写式笔记本电脑,合同中的仲裁条款约定:因履行本合同发生争议,应提交石家庄仲裁委员会仲裁解决,2010年8月,双方在履行合同过程中发生
申请房地产开发贷款的房地产开发企业通常应具备()条件。
下列融资方式中,不适于商业银行在遇到短期资金紧张时获得资金的是()。
运输和储存是物流系统的两大支柱,物流过程中其他各环节的活动都是围绕着运输和储存而进行的。
下列能够依次展示美国、英国、法国和日本影响力的文化符号是()。
Writeanemailabout100wordstoanewspapereditortoadvocatepeopletoberesponsiblefortheirwordsontheInternet.Yous
最新回复
(
0
)