1、题目 1 请编写一个函数 jsValue(int m,int k,int xx),该函数的功能是:将大于整数 m 且紧靠 m 的 k个素数存入数组 xx 传回。 最后调用函数 writeDat()读取 10组数据,分别得出结果且把结果输出到文件 out.dat中。 部分源程序存在文件 prog1.c 中。 例如:若输入 17 5 则应输出: 19, 23, 29, 31, 37。 请勿改动主函数 main()和写函数 writeDat()的内容。 int isP(int m) int i; for(i=2;i0;m+) if(isP(m) xxs+=m; k-; 题目 2 已知数据文件 IN.
2、DAT 中存有 300 个 4 位数,并已调用函数 readDat()把这些数存入数组 a中,请编制一个函数 jsValue(),其功能是:求出这些 4 位数是素数的个数 cnt,再求出所有满足此条 件的 4 位数的平均值 pjz1,以及所有不满足此条件的 4 位数的平均值 pjz2,最后调用函数 writeDat()把结果 cnt、 pjz1、 pjz2 输出到 OUT19.DAT 文件中。 例如: 5591 是素数,则该数满足条件,计算平均值 pjz1,且个数 cnt=cnt+1。 9812 是非素数,则该数不满足条件,计算平均值 pjz2。 注意:部分源程序已给出。程序中已定义数组: a
3、300,已定义变量: cnt、 pjz1、 pjz2。请勿改动主函数 main()、读函数 readDat()和写函数 writeDat()的内容。 【参考答案 】 void jsValue() int i; for(i=0;ibj) value=bi; bi=bj; bj=value; 题目 5 程序 prog1.c 的功能是:选出 100 以上 1000 之内所有个位数字与十位数字之和被 10 除所得余数恰是百位数字的素数(如 293)。计算并输出上述这些素数的个数 cnt 以及这些素数值的和 sum。 请考生编写函数 countValue( )实现程序要求,最后调用函数 writeDAT
4、()把结果 cnt和 sum 输出到文件 bc10.out 中。 int isPrime(int m) int i; for(i=2;i500;i-) if(isP(i) cnt+; sum=sum+k*i; k=k*(-1); 题目 7 已知数据文件 IN.DAT 中存有 200 个四位数,并已调用读函数 readDat()把这些数存入数组 a中,请考生编制一函数 jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另 一个新的十位数 cd(新十位数的十位数字是
5、原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab-cd=0 且 ab-cd=0 for(i = 0; i cd, ab 必须是偶数且能被 5 整除, cd 必须是奇数,同时两个新数的十位 数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组 b 中,并要计算满足上述条件的四位数的个数 cnt。最后 main()函数调用写函数 writeDat( )把结果 cnt 以及数组 b 中符合条件的四位数输出到 OUT.DAT 文件中。 void jsVal() int i,j,thou,hun,ten,data,ab,cd; for(i=0;i0cnt+
6、; for(i=0;i=10 for(i=0;i=10 for(i=0;i=10 且 ab-cd=10 for(i=0;i0cnt+; for(i=0;i max) max = xxi; cnt = 1; else if(xxi = max) cnt+; pj /= (float) cnt1; * 习题 21 在文件 in.dat 中有 200 个正整数,且每个数均在 1000 至 9999 之间。函数 ReadDat()读取这200 个数存放到数组 aa 中。请编制函数 jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前 10 个数依次存入数组 bb 中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数 WriteDat()把结果 bb 输出到文件 out.dat 中。 例:处理前 6012 5099 9012 7025 8088 处理后 9012 6012 7025 8088 5099 void jsSort() int i,j,data; for(i=0;iaaj%1000|aai%1000=aaj%1000aai=aaj;aaj=data; for(i=0;i10;i+) bbi=aai; * 习题 22