2014年3月三级网络技术南开100题.doc
文本预览下载声明
NCER
2014年3月计算机三级考试
最新
网络技术
南
开
100
题
素数题:
题目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;im;i++)
if(m % i==0)return 0;
return 1;
}
void num(int m,int k,int xx[])
{ int s=0;
for(m=m+1;k0;m++)
if(isP(m)) { xx[s++]=m; k--;}
}
程序prog1.c的功能是:选出100以上1000之内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数cnt以及这些素数值的和sum。 请考生编写函数countValue( )实现程序要求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的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。
例如:5591是素数,则该数满足条件存入数组b中,且个数cnt=cnt+1。9812是非素数,则该数不满足条件忽略。#include stdio.h
int a[300],b[300],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(a[i])) b[cnt++]=a[i];
for(i=0;icnt-1;i++)
for(j=i+1;jcnt;j++)
if(b[i]b[j]) {value=b[i]; b[i]=b[j]; b[j]=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;i=90;i++)
if(isPrime(i)isPrime(i+4)isPrime(i+10))
{cnt++;sum+=i;}
}
题目66、下列程序prog1.c的功能是:计算500-800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,再计算其间隔加、减之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数...的值sum。请编写函数countValue()实现程序的要求
void countValue()
{int i,j,k=1;
for(i=800;i500;i--)
{ for(j=2;ji;j++)
if(i%j==0) break;
if(j==i){cnt++;sum=sum+k*i; k=k*(-1); }
}
}
题目82.已知数据文件in.dat中存有300个四位数,请编制一函数jsValue(),其功能是:求出所有这些四位数是素数的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2
例如:5591是素数,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。 9812是非素数,则该数不满足条件计算平均值pjz2。 程序中已定义数组:a[30
显示全部