首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编写函数int fun(int lim,int aa[MAX]),其功能是求出小于或等于lim的所有素数并放在aa数组中,并返回所求出的素数的个数。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花
编写函数int fun(int lim,int aa[MAX]),其功能是求出小于或等于lim的所有素数并放在aa数组中,并返回所求出的素数的个数。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花
admin
2017-02-24
26
问题
编写函数int fun(int lim,int aa[MAX]),其功能是求出小于或等于lim的所有素数并放在aa数组中,并返回所求出的素数的个数。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
1 #include<conio.h>
2 #include<stdio.h>
3 #include<stdlib.h>
4 #define MAX 100
5 int fun(int lim,int aa[MAX])
6 {
7
8 }
9 void main()
10 {
11 FILE*wf;
12 int limit,i,sum;
13 int aa[MAX];
14 system("CLS");
15 printf("输入一个整数:");
16 scanf("%d",&limit);
17 sum=fun(limit,aa);
18 for(i=0;i<sum;i++)
19 {
20 if(i%10==0&&i!=0) /*每行输出10个数*/
21 printf("\n");
22 printf(”%5d”,aa
);
23 }
24 /*****************/
25 wf=fopen("out.dat","W");
26 sum=fun(15,aa);
27 for(i=0;i<sum; i++)
28 {
29 if(i%10==0&&i!=0) /*每行输出10个数*/
30 fprintf(wf,"\n");
31 fprintf(wf,"%5d",aa
);
32 }
33 fclose(wf);
34 /*****************/
35 }
选项
答案
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)reak;
转载请注明原文地址:https://kaotiyun.com/show/0gDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
下列程序运行后的输出结果是______。#include<stdio.h>main(){chars[20];scanf("%s",s);printf("%s",s);}运行程序,输入HOWAREYOU。
下列程序的循环次数是______。x=2;do{x=x*x;}while(!x);
有下列程序:fun(intx){intp;if(x==0‖x==1)return(3);p=x-fun(x-2);returnp;}main(){printf("%d\n",fun(7)
设有下列语句inta=1,b=2,c;c=a^(b《2);执行后,C的值为()。
下列叙述中错误的是()。
下面程序的运行结果是______。#include<stdio.h>intf(inta[],intn){if(n>1)returna[0]+f(a+1,n-1);elsereturna[0];}main(){intaa[10]=
以下程序运行后的输出结果是______。main(){charc1,c2;for(c1=’0’,c2=’9’;c1<c2;c1++,c2--)printf("%c%c",c1,c2);printf("\n");}
下列二维数组初始化语句中,不正确的是()。
以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。#includestructlist{intd
随机试题
不符合视网膜深层出血特征的是
体内缺铁初期的最早最可靠的诊断依据是
下列化纤地毯中,哪一种的耐磨性和阻燃性最好?
炉膛爆炸要同时具备的条件不包括()。
(1)(12)
公司全体发起人的首次出资额不得低于注册资本的20%,其余部分由发起人自公司成立之日起两年内缴足;其中,投资公司可以在3年内缴足。()
下列各项中,体现实质重于形式要求的有()。
最早确认给予外国人以庇护权的宪法是()。
下列赠与合同,在赠与标的交付前不可撤销的是()
Shecouldonlyseethe______ofthetrees.
最新回复
(
0
)