首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。 例如,若输入:17,则应输出: 4 6 8 9 10 12 14 15 16。 注意:部分源程序在文件PROG1.C中。
请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。 例如,若输入:17,则应输出: 4 6 8 9 10 12 14 15 16。 注意:部分源程序在文件PROG1.C中。
admin
2018-09-27
28
问题
请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。
例如,若输入:17,则应输出:
4 6 8 9 10 12 14 15 16。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1 #include<stdio.h>
2 void fun(int m,int *k,int xx[])
3 {
4
5 }
6 main()
7 {
8 int m,n,zz[100];
9 void NONO();
10 printf(’’\nPlease enter aninteger number between 10 and100:’’);
11 scanf(’’%d’’,&n);
12 fun(n,&m,zz);
13 printf(’’\n\nThere are%d nonprime numbers less than%d:’’,m,n);
14 for(n=0; n<m; n++)
15 printf(’’\n%4d’’,zz[n]);
16 NONO();
17 }
18 void NONO()
19 {
20 /*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
21 int m,n,zz[100];
22 FILE *rf,*wf;
23 rf=fopen(’’in.dat’’,’’r’’);
24 wf=fopen(’’out.dat’’,’’w’’);
25 fscanf(rf,’’%d’’,&n);
26 fun(n,&m,zz);
27 fprintf(wf, ’’%d\n%d\n’’,m,n);
28 for(n=0;n<m; n++)
29 fprintf(wf, ’’%d\n’’,zz[n]);
30 fclose(rf);
31 fclose(wf);
32 }
选项
答案
1 int i,j; 2 int t=0; //初始化数组个数 3 for(i=2,i<m;i++) //循环判断小于n的数是否为素数 4 { j=2; 5 while(j<i) 6 { if(i%j==0) //如果i不是素数 7 { xx[t]=i; 8 t++; 9 break; 10 } 11 j++;} 12 *k=t; }
解析
该程序功能是将所有大于1小于整数m的非素数存入xx所指数组中。求素数的常用方法是:从2到m-1去除m,如果中间的任何数被整除,则不是素数。
(1)根据求素数的方法判断数i是否为素数。
(2)把不是素数的数留下来,其方法是:如果该数是素数则不处理;如果不是素数则放到数组xx中,并且把数组的下标加1,为下一个不是素数的数放在数组中做准备。
(3)返回个数,把xx数组中已经写入的数的个数返回即可,即把数组xx的最大下标加1返回即可。
转载请注明原文地址:https://www.kaotiyun.com/show/H8xp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有如下程序:main(){intx=4,y=3,x=2,t;t=x<y<z;printf("%d\n",t);}则程序运行后的输出结果是【】。
以下程序运行后的输出结果是()。main(){inta=3,b=4,c=5,t=99;if(b<a&&a<C)t=a;a=c;c=t;if(a<c&&b<C)t=b;b=a;a=t;printf(
以下程序运行后的输出结果是()。main(){inta,b,c;a=10;b=20;c=(a/b<1)&&(a%b<1);printf("%d%d%d\n",a,b,C);}
以下程序的功能是将字符串s中所有小写字母’a’删去,请填空。#include<stdio.h>main(){chars[]="absuWWUDJFKFLaaakdK";inti,j;for(i=j=0;s[i]!=
面向对象方法中,继承是指()。
源程序文档化要求程序应加注释。注释一般分为序言性注释和【】注释。
在面向对象的方法中,______描述的是具有相似属性与操作的一组对象。
以下函数返回a所指数组中最小的值所在的下标值:fun(int*a,intn){inti,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[j])________return(p);}在下划线处应填入的是
要求使下列程序输出5个整数,请填空。for(i=0;i<=______;printf("%d\n",i+=2));
随机试题
弧焊逆变器效率可达80%~90%,功率因数可提高到0.99,空载损耗极小,是一种节能效果十分显著的弧焊电源。
铣削斜齿圆柱齿轮时,应按当量齿数选取铣刀齿数。
男性,55岁。胃溃疡病史8年,近半年来上腹痛加重,无规律,X线钡餐造影示胃黏膜皱襞增粗,胃窦部见:3cm×3cm不规则龛影,突出腔外,胃蠕动正常。胃酸正常。该患者,应考虑诊断为
用平车搬运病人不妥的是
洁净空调工程系统的调试还包括进行带冷、热源的不少于()的系统正常联合试运转。
FOB价格术语的变形是因装货费用的负担问题而产生的,而CIF价格术语的变形则是因卸货费用的负担问题而产生的。()
在个人住房贷款的合作机构分析要点包括()。
试论述基础教育课程改革的基本理念。
简述教学反思的作用。
决定我国自然地理环境差异的基本因素是()。
最新回复
(
0
)