首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。 例如,若输入:17,则应输出: 4 6 8 9 10 12 14 15 16。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函
请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。 例如,若输入:17,则应输出: 4 6 8 9 10 12 14 15 16。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函
admin
2019-09-02
49
问题
请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。
例如,若输入:17,则应输出:
4 6 8 9 10 12 14 15 16。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
void fun(int m,int*k,int xx[])
{
}
main()
{
int m,n,zz[100];
void NONO();
printf("\nPlease enter an integer number between 10 and 100:”);
scanf("%d",&n);
fun(n,&m,zz);
printf("\n\nfhere are%d nonprime numbers less than%d:",m,n);
for(n=0; n<m; n++)
printf("\n%4d",zz[n]);
NONO();
}
void NONO()
{
/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件*/
int m,n,zz[1 00];
FTLE*rf,*wf;
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
fscanf(rf,"%d",&n);
fun(n,&m,zz);
fprintf(wf, "%d\n%d\n",m, n);
for(n=0; n<m; n++)
fprintf(wf,"%d\n",zz[n]);
fclose(rf);
fclose(wf);
}
选项
答案
int i,j; int t=0; //初始化数组个数 for(i=2;i<m;i++) //循环判断小于n的数是否为素数 {j=2; while(j<i) {if(i%j==0) //如果i不是素数 (xx[t]=i; t++; break; } j++;} *k=t;}
解析
该程序功能是将所有大于1小于整数m的非素数存入xx所指数组中。求素数的常用方法是:从2到m-1去除m,如果中间的任何数被整除,则不是素数。
(1)根据求素数的方法判断数i是否为素数。
(2)把不是素数的数留下来,其方法是:如果该数是素数则不处理;如果不是素数则放到数组xx中,并且把数组的下标加1,为下一个不是素数的数放在数组中做准备。
(3)返回个数,把xx数组中已经写入的数的个数返回即可,即把数组xx的最大下标加1返回即可。
转载请注明原文地址:https://jikaoti.com/ti/Vsf0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,一维数组中的数据是:2223445666677899101010
函数fun的功能是:将a、b中的两个两位正整数合并形成一个新的整数放在c中。合并的方式是:将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上。例如,当a=45,b=12。调用该函数后,c=4251。
给定程序MODI1.C中函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。例如,若给num1和num2分别输入49和21,则输出的最大公约数为7;若给numl和hum2分别输入27和81,则输出的最大公约数为27。请
给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行和删行,也不得更改程序的结构!#include#def
给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生
给定程序MODI1.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。例如,输入的数为:551234,输出结果应当是:a=55.0,b=34.0,c=12.0。请改正程序中的错误,使
给定程序MODI1.C中函数fun的功能是:统计一个无符号整数中各位数字值为零的个数,通过形参传回主函数;并把该整数中各位上最大的数字值作为函数值返回。例如,若输入无符号整数30800,则数字值为零的个数为3,各位上数字值最大的是8。请改正函数f
函数fun的功能是:统计长整数n的各个位上出现数字1、2、3的次数,并通过外部(全局)变量c1,c2,c3返回主函数。例如:当n=123114350时,结果应该为:c1=3c2=1c3=2。请在程序的下划线处填入正确的内容并把下划线删除,使程
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其他*号全部删除。形参P已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为:****A*BC*DEF*
给定程序中,函数fun的功能是:将N×N矩阵主对角线元素中的值与反向对角线对应位置上元素中的值进行交换。例如,若N=3,有下列矩阵:123456789交换后为;32
随机试题
下列关于右主支气管的叙述,正确的是()
阅读鲁迅《风波》中的一段文字,然后回答下列小题。七斤虽然住在农村,却早有些飞黄腾达的意思。从他的祖父到他,三代不捏锄头柄了;他也照例的帮人撑着航船,每日一回,早晨从鲁镇进城,傍晚又回鲁镇,因此很知道些时事:例如什么地方,雷公劈死了蜈蚣精;什么地方,闺女生
A.从事中医药专业工作30年以上,并担任高级专业技术职务10年以上B.在中医药领域中取得卓越的成绩,被列为学科带头人C.在中医药领域有独到见解,长期从事临床工作,享受国务院特殊津贴D.具有研究生以上学历和良好的职业品德E.受聘于医疗卫生机构或者教育
反接制动是将交流电动机的电源相序反接产生制动转矩的一种电制动方式,下述哪种情况不宜采用反接制动?()
FIDIC《施工合同条件》主要适用于( )。
下列账簿中不能采用卡片式账簿的有()。
对银行业金融机构未经任职资格审查任命董事的行为,可处以的罚款数额是()万元。
代办货物进出口报关、纳税、结关及相关业务的货运代理是()。
以下对市场有效性的划分正确的是()。
LaughterIstheKeytoHappinessI.Howtobehappier?1)tonsofthingsrelatedtohappiness—【T1】,hobby,agoodjob,awarmf
最新回复
(
0
)