1、题目 1请编写一个函数 jsValue(int m,int k,int xx),该函数的功能是:将大于整数 m 且紧靠 m 的k 个素数存入数组 xx 传回。 int isP(int m)int i;for(i=2;i0;m+)if(isP(m) xxs+=m; k-; 题目 2已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函数 readDat()把这些数存入数组a 中,请考生编制一函数 jsVal(),其功能是:如果四位数各位上的数字均是 0 或 2 或 4 或6 或 8,则统计出满足此条件的个数 cnt,并把这些四位数按从大到小的顺序存入数组 b 中。void jsVal
2、() int i,j,qw,bw,sw,gw;for(i=0;i=0;j-) k=0; memset(tem,0,80);if(xxij=o)righto=j; for(s=righto+1;s=0;j-) if(isalpha(xxij) k+; else for(m=1;maaj%1000|aai%1000=aaj%1000aai=aaj;aaj=data;for(i=0;i130) continue;else xxij=xxij*11%256;题目 9(字符串排序题)函数 ReadDat()实现从文件 IN.DAT 中读取一篇英文文章存入到字符串数组 xx 中,请编制函数 SortCha
3、rD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组 xx 中, 例:原文:dAe,BfC.CCbbAA结果:fedCBA.bbCCAAvoid SortCharD(void)int i,j,k,strl;char ch;for(i=0;i=aselli=sellj;sellj=xy;题目 13(结构体运算题)已知在文件 IN.DAT 中存有 100 个产品销售记录,每个产品销售记录由产品代码 dm(字符型 4 位),产品名称 mc(字符型 10 位),单价 dj(整型) ,数量 sl(整型),金额 je(长整型)五部分组成。其中:金额=单价
4、*数量计算得出。函数 ReadDat()是读取这 100 个销售记录并存入结构数组 sell 中。请编制函数 SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组 sell 中, void SortDat()int i,j;PRO xy;for(i=0;i0|strcmp(selli.dm,sellj.dm)=0else flag=0;break;if(flag=1) bcnt+=ai; for(i=0;ibj) flag=bi;bi=bj;bj=flag;题目 15(整数各位数字运算排序题)已知数据文件 IN.DAT
5、 中存有 200 个四位数,并已调用读函数 readDat()把这些数存入数组a 中,请考生编制一函数 jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,以及十位数字上的值小于等于个位数字上的值,并且原四位数是偶数,则统计出满足此条件的个数 cnt 并把这些四位数按从小到大的顺序存入数组 b 中,void jsVal()int i,j;int qw,bw,sw,gw;for (i=0;ibj) qw=bi;bi=bj;bj=qw题目 16(字符替换题)函数 ReadDat()实现从文件 IN.DAT 中读取一篇英文文章存入到字符
6、串数组 xx 中,请编制函数 StrCharJR(),其函数的功能是:以行为单位把字符串中所有字符的 ASCII 值右移 4 位,然后把右移后的字符 ASCII 值再加上原字符的 ASCII 值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组 xx 中,void StrCharJR()int i,j;for(i=0;i4);题目 17 (亲朋字符替换题)函数 READDAT()实现从文件 IN.DAT 中读取一篇英文文章存入到字符串数组 XX 中;请编制函数 CHA(),其函数功能是: 以行为单位把字符串中的第一个字符的 ASCII 值加第二个字符的 AS
7、CII 值,得到第一个亲朋字符,第二个字符的 ASCII 值加第三个字符的 ASCII 值,得到第二个新字符,依此类推一直处理到最后第二个字符,最后一个字符的 ASCII 值加原第一个字符的 ASCII 值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后按行重新存入字符串数组 XX 中,void ChA(void) int i,j;char ch;for(i=0;i=0.000001);return x1;题目 22(平方根问题)请编写函数 countValue(),它的功能是:求 n 以内(不包括 n)同时能被 3 与 7 整除的所有自然数之和的
8、平方根 s,并作为函数值返回,例如若 n 为 1000 时,函数值应为:s=153.909064。double countValue(int n) int i;double s=0.0;for(i=1;i=half) return 1;else return 0;题目 26(整数统计运算题)已知在文件 IN.DAT 中存有若干个(个数0) totNum+;data=xxi1; if(data%2=0)totCnt+;totPjz+=xxi; if(totCnt=0) totPjz=0;else totPjz/=totCnt;题目 27(整数各位数字运算题)已知数据文件 in.dat 中存有 3
9、00 个四位数,并已调用读函数 ReadDat()把这些数存入数组 a中,请编制一函数 jsValue(),其功能是:求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数 cnt,再把所有满足此条件的四位数依次存入数组 b 中,然后对数组 b 的四位数按从小到大的顺序进行排序,例如:9123,9-1-2-30 ,则该数满足条件存入数组 b 中,且个数 cnt=cnt+1。9812,9-8-1-20 ,则该数不满足条件忽略。 jsValue() int i,j,qw,bw,sw,gw;for(i=0;i0) bcnt+=ai;for(i=0;ibj) qw=bi; bi=bj;
10、 bj=qw;题目 28(整数各位打散组合运算题)已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函数 readDat()把这些数存入数组a 中,请考生编制一函数 jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数 ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字) ,以及把个位数字和百位数字组成另一个新的十位数 cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字) ,如果新组成的两个十位数 ab-cd=0 且 ab-cd=0for(i=0;i=10 且 ab-cd=10 for(i=0;icnt-1;i+)for(j=i+1;jcnt;j+)if(bibj) qw=bi;bi=bj;bj=qw题目 30(整数统计排序题)已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函数 readDat()把这些数存入数组a 中,请考生编制一函数 jsVal(),其功能是:依次从数组 a 中取出一个四位数,如果该四位数连续小于该四位数以后的五个数且该数是偶数(该四位数以后不满五个数,则不统计) ,则统计出满足此条件的个数 cnt 并把这些四位数按从小到大的顺序存入数组 b 中,void jsVal()int i,j,flag;