for(j=I+1;j if(b[I] {flag=b[I];b[I]=b[j];b[j]=flag;} } 题目46:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 依次从数组a中取出一个四位数,如果该数连续大于该四位数以前的5个数且该数是奇数,但该数必须能被7整除。则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a[200], b[200], 已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 ------------------------- void jsVal() {int I,j,flag=0; for(I=5;I flag=1; else {flag=0;break;}} if (flag==1&&a[I]%2==1&&a[I]%7==0) {b[cnt]=a[I];cnt++;} } for(I=0;I {flag=b[I];b[I]=b[j];b[j]=flag;} } 题目47:已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:金额从大到小进行排列, 若金额相等, 则按产品代码从小到大进行排列. 最终排列结果仍存入结构数组sell中,最后调用函数 WriteDat()把结果输出到文件OUT3.DAT中。 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main( )、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 ---------------------------------- void SortDat() {int I,j; PRO xy; for(I=0;I if(sell[I].je {xy=sell[I]; sell [I]=sell[j]; sell[j]=xy;} else if(sell[I].je==sell[j].je) if(strcmp(sell[I].dm,sell[j].dm)>0) {xy=sell[I];sell[I]=sell[j];sell[j]=xy;} } 题目48:已知数据文件IN.DAT中存有300个四位数,并已调用读函数READDAT()把这些数存入数组A中.请编制一函数SVALUE(),其功能是:求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数CNT,再把所有满足条件的四位数依次存入数组bb中,然后对数组bb的四位数按从小到大的顺序进行排序,最后调用写函数WRITEDAT()把数组b中的数 输出到OUT.DAT文件. 例如:6712,6+2=7+1,则该数满足条件存入数组bb中,且个数CNT=CNT+1. 8129,8+1<>2+9,则该数不满足条件忽略. 注意:部分源程序已给出。 程序中已定义数组:a[300],已定义变量:cnt 请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。 --------------------- void jsValue() {int I,thou,hun,ten,data,j; for(I=0;I<300;I++) {thou=a[I]/1000; hun=a[I]00/100; ten=a[I]0/10; data=a[I]; if (thou+data==hun+ten){b[cnt]=a[I];cnt++;} } for(I=0;I {data=b[I]; b[I]=b[j]; b[j]=data;} } 题目49:已知数据文件IN.DAT中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsvalue(),其功能是:求出千位数上的数减百位数减十位数上的数减个位数上的数大于零的个数cnt,再求出所有满足此条件的四位数平均值pjz1,以及不满足此条件的四位数平均值pjz2,最后调用写函数writeDat()把结果输出到OUT.DAT文件。 例如:9123,9-1-2-3>0,则该数满足条件计算平均值pjz1,且个数cnt=cnt+1。 9812,9-8-1-2<0,则该数不满足条件计算平均值pjz2. 注意:部分源程序已给出。 程序中已定义数组:a[300],已定义变量:cnt 请勿改动主函数main()、读函数ReadDat()和写函数writeDat()的内容。 --------------------- void jsValue() {int I,thou,hun,ten,data,n=0; for(I=0;I<300;I++) {thou=a[I]/1000; hun=a[I]00/100; ten=a[I]0/10; data=a[I]; if (thou-hun-ten-data>0) {cnt++;pjz1+=a[I];} else {n++;pjz2+=a[I];} } pjz1/=cnt;pjz2/=n; } 题目50:函数ReadDat()实现从文件in.dat中读取20行数据存放到字符串数组xx中(每行字符串长度均小于80)。请编制函数jsSort(),其函数的功能是:以行为单位对字符串按给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件out.dat中。 条件:从字符串中间一分为二,左边部分按字符的ASCII值升序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。 例如:位置 0 1 2 3 4 5 6 7 8 源字符串 d c b a h g f e 4 3 2 1 9 8 7 6 5 则处理后字符串 h g f e a b c d 8 7 6 5 9 1 2 3 4 部分源程序已给出。 请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 ---------------------------- 类型:字符串左右排序和比较. 注:先采用冒泡法对左边部分进行升序排序,然后将排序后的左半与右半按对应位进行 调换。 void jsSort() {int i,strl,half,j,k; char ch; for(i=0;i<20;i++) {strl=strlen(xx[i]); half=strl/2; for(j=0;j if(xx[i][j]>xx[i][k]) {ch=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=ch;} for(j=half-1,k=strl-1;j>=0;j--,k--) {ch=xx[i][j];xx[i][j]=xx[i][k];xx[i][k]=ch;} } } 题目51:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和十位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字), 以及把个位数字和百位数字组成另一个新的十位数 (新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字), 如果新组成的两个十位数均是素数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a[200], b[200], 已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 ------------------------- void jsVal() {int I,thou,hun,ten,data,j; int ab,cd; for(I=0;I<200;I++) {thou=a[I]/1000; hun=a[I]00/100; ten=a[I]0/10; data=a[I]; ab=10*thou+ten; cd=10*data+hun; if (isprime(ab)&&isprime(cd)&&ab!=0&&cd!=0) {b[cnt]=a[I];cnt++;} } for(I=0;I if(b[I] {data=b[I];b[I]=b[j];b[j]=data;} } 题目52:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 把千位数字和个位数字重新组成一个新的十位数(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的个位数字), 以及把十位数字和百位数字组成另一个新的十位数 (新十位数的十位数字是原四位数的百位数字,新十位数的个位数字是原四位数的十位数字), 如果新组成的两个十位数均是奇数并且两个十位数中至少有一个能被5整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中, 并要计算满足上述条件的四位数的个数cnt。最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a[200], b[200], 已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 ------------------------- void jsVal() {int I,thou,hun,ten,data,j; int ab,cd; for(I=0;I<200;I++) {thou=a[I]/1000; hun=a[I]00/100; ten=a[I]0/10; data=a[I]; ab=10*thou+data;
2012年计算机三级网络技术南开100题(7)
2019-04-22 13:17
2012年计算机三级网络技术南开100题(7).doc
将本文的Word文档下载到电脑
下载失败或者文档不完整,请联系客服人员解决!