首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
编写函数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
75
问题
编写函数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全国计算机二级
相关试题推荐
下列程序的输出结果是()。point(char*pt);main(){charb[4]{’a’,’c’,’s’,’f’},*pt=b;pt=point(pt);printf("%c\n",*
下列选项中,值为1的表达式是()。
若有下列定义,则对a数组元素地址的正确引用是()。inta[5],*p=a;
以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下:ABCDEFGHIJKLMNO请填空完成该程序。main(){in
以下程序运行后的输出结果是______。main(){charc1,c2;for(c1=’0’,c2=’9’;c1<c2;c1++,c2--)printf("%c%c",c1,c2);printf("\n");}
mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。请填空。intmystrlen(char*str){intifor(i=0;______!=’\0’;i++);return(i);}
数据的逻辑结构有线性结构和______两大类。
C语言规定,在一个源程序中,main函数的位置
以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。main(){intx[10],a[9],I;for(I=0;I
随机试题
弹词最迟产生于【】
特发性肺纤维化的确诊方法是
便秘的基本治法为
连续梁桥主梁自重内力与采用的施工方法、顺序、体系转换的具体情况无关,因为主梁自重内力只与它的计算跨径和自重分布有关。()
建设项目管理的目标包括()。
下列各项中,属于业务预算的有()。
下列关于账簿设置的表述,错误的有()。
Wherewas______youmetwiththefamousscientist?
所有爱斯基摩土著人都是穿黑衣服的;所有的北婆罗洲土著人都是穿白衣服的;没有穿白衣服又穿黑衣服的人;H是穿白衣服的。基于以上事实,下列哪个判断必为真?
WriteanemailtoPeterwhohelpedyourteamdesignacampusnewswebsiteandthankhimforhiseffortsinsettingupthewebsit
最新回复
(
0
)