计算机三级网络技术上机试题100道(类型加精版)上机题库内容摘要:

8 7 6 5 9 4 3 2 1 void jsSort() /*标准答案 */ {int I,j,k,strl,half。 char ch。 for(I=0。 I20。 I++) {strl=strlen(xx[I])。 half=strl/2。 for(j=0。 jhalf1。 j++) for(k=j+1。 khalf。 k++) if (xx[I][j]xx[I][k]) {ch=xx[I][j]。 xx[I][j]=xx[I][k]。 xx[I][k]=ch。 } for(j=half1,k=strl1。 j=0。 j,k) {ch=xx[I][j]。 xx[I][j]=xx[I][k]。 xx[I][k]=ch。 } } } q24:已知数据文件 中存有 300 个四位数 ,并已调用读函数 READDAT()把这些数存入数组 A中 .请编制一函数 SVALUE(),其功能是 :求出千位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数 CNT,再把所有满足条件的四位数依次存入数组 bb中 ,然后对数组 bb的四位数按从小到大的顺序进行排序 ,最后调用写函数 WRITEDAT()把数组 b 中的输出到 文件 . 例如 :6712,6+2=7+1,则该数满足条件存入数组bb 中 ,且个数 CNT=CNT+1. 8129,8+12+9,则该数不满足条件忽略 . 程序中已定义数组: a[300],已定义变量: t void jsValue() /*标准答案 */ {int I,thou,hun,ten,data,j。 for(I=0。 I300。 I++) {thou=a[I]/1000。 hun=a[I]%1000/100。 ten=a[I]%100/10。 data=a[I]%10。 if(thou+data==hun+ten) {b[t]=a[I]。 t++。 } } for(I=0。 It1。 I++) for(j=I+1。 jt。 j++) if(b[I]b[j]) {data=b[I]。 b[I]=b[j]。 b[j]=data。 } } 26:已知数据文件 中存有 200 个四位数 , 并已调用读函数 readDat()把这些数存入数组 a 中 ,请考生编制一函数 jsVal(),其功能是 : 把千位数字和个位数字重新组成一个新的十位数 (新十位数的十位数字是原四位数的千位数字 ,新十位数的个位数字是原四位数的个位数字 ), 以及把十位数字和百位数字组成另一个新的十位数 (新十位数的十 位数字是原四位数的百位数字 ,新十位数的个位数字是原四位数的十位数字 ), 如果新组成的两个十位数均是奇数并且两个十位数中至少有一个能被 5 整除 ,同时两个新数的十位数字均不为零 ,则将满足此条件的四位数按从大到小的顺序存入数组 b 中 , 并要计算满足上述条件的四位数的个数 t。 最后 main()函数调用写函数writeDat( )把结果 t以及数组 b中符合条件的四位数输出到 文件中。 程序中已定义数组 : a[200], b[200], 已定义变量 : t void jsVal() /*标准 答案 */ {int I,thou,hun,ten,data,j。 int ab,cd。 for(I=0。 I200。 I++) {thou=a[I]/1000。 hun=a[I]%1000/100。 ten=a[I]%100/10。 data=a[I]%10。 ab=10*thou+data。 cd=10*hun+ten。 if (ab%2==1amp。 amp。 cd%2==1amp。 amp。 (ab%5==0||cd%5==0)amp。 amp。 ab!=0amp。 amp。 cd!=0) {b[t]=a[I]。 t++。 } } for(I=0。 It1。 I++) for(j=I+1。 jt。 j++) if(b[I]b[j]) {data=b[I]。 b[I]=b[j]。 b[j]=data。 } } 29:对 10个候选人进行选举,现有一个 100 条记录的选票数据文件 ,其数据存放的格式是每条记录的长度均为 10 位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推 :内容均为字符 0 和 1, 1 表示此人被选中, 0 表示此人未被选中,若一张选票人数小于等于 5 个人时被认为无效的选票。 给定函数 ReadDat()的功能是把选票数据读入到字符串数组 xx 中。 请编制函数 CountRs()来统计每个人的选票数并把得票数依次存入 yy[0]到yy[9]中。 把结果 yy 输出到文件 中。 void CountRs(void) /*标准答案 ,有问题 !!!*/ {int I,count,j。 char *pf。 for(I=0。 I10。 I++) yy[I]=0。 for(I=0。 I100。 I++) {pf=xx[I]。 count=0。 while (*pf) if(*pf==39。 139。 ){count++。 pf++。 } else pf++。 if (count5) {pf=xx[I]。 j=0。 while (*pf) if (*pf==39。 139。 ) {yy[j]+=1。 j++。 pf++。 } else if (*pf==39。 039。 ) {pf++。 j++。 } } } } 或者: 题目要求将那些选了不超过 5 人的选票视为无效票,即一张选票中如果 „1‟不超 过 5 个则为无效选票。 该题先用 for()循环对 100行选票进行循环,在循环内先进行用 for ()循环数出这张选票中选中的人数( count)再用 if()判断,如果选中人数小于等于 5 则 c ontinue 即判断下一张选票,否则用内嵌的 for()对行内的数据进行判断,注意如果数据 为 „1‟时才对对应的人增加 1。 void CountRs(void) {int i,j,count。 for(i=0。 i100。 i++) {count=0。 for(j=0。 j10。 j++) if(xx[i][j]==39。 139。 ) count++。 if(count=5) continue。 for(j=0。 j10。 j++) if(xx[i][j]==39。 139。 ) yy[j]++。 } } 题目。 对 10 个候选人进行选举,现有一个 100 条记录的选票数据文件 ,其数据存放的格式是每条记录的长度均为 10 位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推 :内容均为字符 0 和 1, 1 表示此人被选中, 0 表示此人未被选中,全选或不选均为无效的选票 .。 给定函数ReadDat()的功能是把选票数据读入到字符串数组 xx中。 请编制函数 CountRs()来统计每个人的选票数并把得票数依次存入 yy[0]到 yy[9]中。 把结果 yy 输出到文件 中。 void CountRs(void)标准答案 ,有问题 {int I,j=0,k=0。 char *str。 for(I=0。 I10。 I++) yy[I]=0。 for(I=0。 I100。 I++) {str=xx[I]。 j=0。 while(*str) if(*str==39。 139。 ){j++。 str++。 } else str++。 if(j!=0amp。 amp。 j!=10) {str=xx[I]。 k=0。 while(*str) if(*str++==39。 139。 ) yy[k++]+=1。 else k++。 } } } 本题要求将那些全选取或不先的选票均视为无效,全选即为 “1111111111”不选 即为 “0000000000”,只要 xx[i]为上述两种情况即视为无效。 本题对这两种情况的判断 采用 strcmp()函数,注意字符串的比较不能直接进行即不能用: xx[i]==“1111111111” 的方式。 */ void countrs(void) {int i,j。 for(i=0。 i100。 i++) {if(strcmp(xx[i],1111111111)==0||strcmp(xx[i],0000000000)==0) continue。 for(j=0。 j10。 j++) if(xx[i][j]==39。 139。 ) yy[j]++。 } }30:在文件 中有 200组数据,每组有 3个数,每个数均是三位数。 函数 ReadDat()读取这 200 组数据存放到结构数组 aa 中,请编制函数 jsSort(),其函数的功能是:要求在 200 组数据中找出条件为每组中的第二个数大于第一个数加第三个数的之和,其中满足条件的个数作为函数 jsSort() 的返回值, 同时把满足条件的数据存入结构数组 bb 中,再对 bb 中的数据按照每组数据的第二个数加第三个之和的大小进行升序排列 (第二个数加第三个数的和均不相等 ),排序后的结果仍重新存入结构数组 bb 中,最后调用函数WriteDat()把结果 bb 输出到文件 中。 int jsSort() /*标准答案 */ {int I,t=0,j。 Data ch。 for(I=0。 I200。 I++) if(aa[I].x2aa[I].x1+aa[I].x3) {bb[t]=aa[I]。 t++。 } for(I=0。 It1。 I++) for(j=I+1。 jt。 j++) if (bb[I].x2+bb[I].x3bb[j].x2+bb[j].x3) { ch=bb[I]。 bb[I]=bb[j]。 bb[j]=ch。 } return t。 } 31:下列程序的功能是:将大于整数 m 且紧靠 m的 k 个素数存入数组 xx。 请编写函数 num(int m,int k,int xx[])实现函数的要求 ,最后调用函数readwriteDAT()把结果输出到文件 中。 例如: 若输入 17, 5,则。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。