首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用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
31
问题
使用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>intfun(intk){if(k<1)return0;elseif(k==1)return1;elsereturnfun(k-1)+1;}若执行调用语句n=fun(3);,则函数
在线性表的链式存储结构中,其存储空间一般是不连续的,并且()。
有以下程序段:#include<stdio.h>intj;floaty;charname[50];seanf("%2d%f%s",&j,&y,name);当执行上述程序段时,从键盘上输入555667777abc后,y的值为()。
若有定义:inta,b;,通过语句scanf(”%d;%d”,&a,&b);能把整数3赋给变量a、5赋给变量b的输入数据是()。
若变量均已正确定义并赋值,以下合法的C语言赋值语句是()。
有以下程序#includemain(){inti,s=1:intfun(){staticintx=1;for(i=1;i
有以下程序#includemain(){intk=4,m=1,p;fun(inta,intb){intstaticm=0,i=2;p=fun(k,m);i=i+m+1;
若有以下函数首部intfun(doublex[10],int,*n)则下面针对此函数的函数声明语句中正确的是
当用户要求输入的字符串中含有空格时,应使用的输入函数是
随机试题
Atfirst,mydadwasnotinfavorofmemarryingWillbecauseWillisblack.Iguessmydadwasabitofaracist.Unfortunately
药事是指()
大隐静脉曲张。高位结扎手术用于
关于血源性感染,下列正确的是
城镇土地利用强度指标一般有()。
绿色经济是指以节约资源、保护环境为前提,以提高人民生活质量为目的.以科技进步为手段,经济发展与资源环境保护同步,人与自然、人与环境和谐共处的一种社会经济形态。下列不属于绿色经济的是:
NULL指针分配的地址空间为( )。
有以下程序:#include<stdio.h>#definef(x)x*x*xmain(){inta=3,s,t;s=f(a+1);t=f((a+1));printf("%d,%d\n",s,t);}程序运行后的输出结果是(
有如下程序:#includeusingnamespacestd;classA{public:virtualvoidfo{cout
Somepeopleliketosharearoomwithastranger,whileothersdislikeit.Writeanessaytodescribeyouropinionaboutit.Yo
最新回复
(
0
)