1、全国计算机二级机试题库完全版一、 素数题:题目1.请编写一个函数jsValue(int m,int k,int xx),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。 例如:若输入17 5 则应输出:19,23,29,31,37。 int isP(int m) int i; for(i=2;i0;m+) if(isP(m) xxs+=m; k-;题目34.程序prog1.c的功能是:选出100以上1000之内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数cnt以及这些素数值的和sum。 请考生编写函数countValue
2、( )实现程序要求void countValue() int i,j,bw,sw,gw; for(i=100;i1000;i+) bw=i/100; sw=i%100/10; gw=i%10; for(j=2;ji;j+) if(i%j=0) break; if(i=j) &(gw+sw)%10=bw) cnt+; sum+=i; 55、已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序
3、进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。 例如:5591是素数,则该数满足条件存入数组b中,且个数cnt=cnt+1。9812是非素数,则该数不满足条件忽略。#include int a300,b300,cnt=0;int isP(int m) int i; for(i=2;im;i+) if(m%i=0)return 0; return 1;jsValue()int i,j,value; for(i=0;i300;i+) if(isP(ai) bcnt+=ai; for(i=0;icnt-1;i+) for(j=i+1;jbj) value=bi; bi=
4、bj; bj=value;题目64下列程序的功能是:找出所有100以内(含100)满足I,I+4,I+10都是素数的整数I(I+10也在100以内)的个数cnt以及这些I之和sum。请编写函数countValue()实现程序要求的功能 int isPrime(int number)int i,tag=1; for(i=2;tag& i=number / 2; i+) if(number % i =0) tag =0; return tag;void countValue()int i; for(i=2;i500;i-) for(j=2;ji;j+) if(i%j=0) break; if(j=
5、i)cnt+; sum=sum+k*i; k=k*(-1); 题目82.已知数据文件in.dat中存有300个四位数,请编制一函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2。 例如:5591是素数,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。 9812是非素数,则该数不满足条件计算平均值pjz2。 程序中已定义数组:a300,已定义变量:cnt,pjz1,pjz2。#include int a300,cnt=0;double pjz1=0.0,pjz2=0.0;int i
6、sP(int m)int i; for(i=2;im;i+) if(m%i=0)return 0; return 1;jsValue()int i; for(i=0;i300;i+) if(isP(ai) pjz1+=ai;cnt+; else pjz2+=ai; if(cnt=0) pjz1=0; else pjz1/=cnt; if(300-cnt=0) pjz2=0; else pjz2/=(300-cnt);二、 结构体题目7已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),
7、金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j100;j+)if(strcmp(selli.dm,sellj.dm)0|strcmp(selli.dm,sellj.dm)=0&selli.jesellj.je) xy=selli;sell i=sellj; sellj=xy;题目13每个产品销售记录由产品代码dm(字符
8、型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。编制函数SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中: void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j0|strcmp(selli.dm,sellj.dm)=0&selli.jesellj.je) xy=selli;selli=sellj;sellj=xy;题目38编制函数SortDat(),其功
9、能要求:按产品代码从小到大进行排列,若产品代码相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j0|strcmp(selli.dm,sellj.dm)=0&selli.jesellj.je) xy=selli;selli=sellj;sellj=xy;题目12编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中void SortDat()int i,j; PRO xy;
10、 for(i=0;i99;i+) for(j=i+1;j0|strcmp(selli.mc,sellj.mc)=0&selli.jesellj.je) xy=selli;selli=sellj;sellj=xy;题目32 SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j100;j+) if(strcmp(selli.mc,sellj.mc)sellj.je) xy=selli;selli=s
11、ellj;sellj=xy;题目42 SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j100;j+) if(strcmp(selli.mc,sellj.mc)0|strcmp(selli.mc,sellj.mc)=0&selli.jesellj.je) xy=selli;selli=sellj;sellj=xy;题目31函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相同,
12、则按产品代码从大到小进行排列, 最终排列结果仍存入结构数组sell中void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j100;j+) if(selli.jesellj.je|selli.je=sellj.je&strcmp(selli.dm,sellj.dm)0) xy=selli;selli=sellj;sellj=xy;题目47函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT3.DAT中。 void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j100;j+) if(selli.je0) xy=selli;selli=sellj;sellj=xy;题目61函数SortDat
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1