首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数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
19
问题
请编写函数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://jikaoti.com/ti/SAa0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若变量c为char类型,能正确判断出c为小写字母的表达式是()
下面程序中有错误的行是(每行程序前面的数字表示行号)1main()2{3inta[3]={1};4inti;5scanf("%d",&a);6for(i-1;i
有以下程序main(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++;}x++;
若变量a,b 已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句[]。
用树形结构表示实体之间联系的模型是()。
若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是()。#include<stdio.h>main(){charc;intv0=1,v1=0,v2=0;do
源程序文档化要求程序应加注释。注释一般分为序言性注释和【】注释。
下述函数统计一个字符串中的单词个数,单词是指处在空格之间的字符序列,请填空。intword(char*s){intnum=0,flag=0;while(*s){if(【】==’’)flag=0;
数据库系统中实现各种数据管理功能的核心软件称为【】。
随机试题
14岁女性,中学生,外出旅游,夜间出室外解便时突感恐惧紧张,跑步回室途中,不慎跌倒,双手着地。站立起来时,发现双目失明。最可能的诊断是( )。【2003年考试真题】
掌跖角化一牙周破坏综合征的临床表现.除了
某村村民赵某一日去刚认识的邻村村民吴某家里玩,吴某问赵:你想不想要玉石,我有几块玉石,你要的话便宜卖给你,1000元一块。赵某问道:是真玉石吗?吴某回答:当然是真的,你我是同乡,我怎么会骗你呢。如果是假的,我又跑不掉,找我退钱就是。于是,赵某用1000元现
依据《工程建设项目招标投标活动投诉处理办法》,下列()情况下应当驳回投诉。
下列图示结构属于何种体系?
下面四个选项中,不正确的是()。
通用账务处理系统一般只可以建立一套账。()
在对公司资产重组行为的区分中,区分报表性的重组和实质性的重组,关键是分析()。
关于有限合伙企业的表述中,正确的包括()。
材料一近年来,长茂村围绕破解人、财、地三个难题,积极推进一系列要素联动改革,逐步从一个发展落后的农业村蝶变为远近闻名的“明星村”。以前的长茂村是一个传统的农业村,农作物一年两季,一季烤烟,一季稻谷,粗放式耕种方式抗风险能力弱、市场竞
最新回复
(
0
)