资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
一、素数题:题目 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( )实现程序要求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 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=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=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 isP(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( 整型 ) ,金额 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(字符型 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(),其功能要求:按产品代码从小到大进行排列,若产品代码相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组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; 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=sellj;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(),其功能要求:按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组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(),其功能要求:按金额从小到大进行排列,若金额相同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中void SortDat() int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;jsellj.je|selli.je=sellj.je&strcmp(selli.dm,sellj.dm)0) xy=selli; selli=sellj; sellj=xy; 题目 99 函数 SortDat(),其功能要求:按金额从小到大进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中 void SortDat() int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;jsellj.je|selli.je=sellj.je&strcmp(selli.dm,sellj.dm)0) xy=selli;selli=sellj;sellj=xy; 三、字符替换与移位题目 8 请编制函数encryptChar(),按给定的替代关系对数组xx 中的所有字符进行替代,仍存入数组xx 的对应的位置上,替代关系: f(p)=p*11 mod 256(p 是数组中某一个字符的ASCII 值, f(p)是计算后新字符的ASCII 值) ,如果计算后 f(p)值小于等于32 或大于 130,则该字符不变,否则将f(p)所对应的字符进行替代。void encryptChar() int i,j; for(i=0;imaxline;i+) for(j=0;jstrlen(xxi);j+) if(xxij*11%256130) continue; else xxij=xxij*11%256; 题目 36 函数 encryptChar(), 替代关系: f(p)=p*11 mod 256 (p 是数组中某一个字符的ASCII 值,f(p) 是计算后新字符的ASCII值) ,如果计算后f(p)值小于等于32 或 f(p) 对应的字符是数字0 至 9,则该字符不变,否则将f(p) 所对应的字符进行替代。void encryptChar() int i,j; for(i=0;imaxline;i+) for(j=0;jstrlen(xxi);j+) if(xxij*11%256=0&xxij*11%256=9) continue; else xxij=xxij*11%256; 题目 56 encryptChar(),替代关系: f(p)=p*11mod 256 (p 是数组中某一个字符的ASCII 值,f(p) 是计算后新字符的ASCII值) ,如果计算后f(p)
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号