三级计算机网络上机题精华50题.docx
- 文档编号:24418475
- 上传时间:2023-05-27
- 格式:DOCX
- 页数:57
- 大小:31.92KB
三级计算机网络上机题精华50题.docx
《三级计算机网络上机题精华50题.docx》由会员分享,可在线阅读,更多相关《三级计算机网络上机题精华50题.docx(57页珍藏版)》请在冰豆网上搜索。
三级计算机网络上机题精华50题
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
第01套:
(和第28套对比)
已知数据文件IN.DAT中存有300个四位数,并已调用读函数readDat()把这些
数存入数组a中,请编制一函数jsValue(),其功能是:
求出千位数上的数加百位数
上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的四位
数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序。
最后
main()函数调用写函数writeDat()把数组b中的数输出到文件OUT.DAT中。
例如:
7153,7+1=5+3,则该数满足条件存入数组b中,且个数cnt=cnt+1。
8129,8+1!
=2+9,则该数不满足条件忽略。
注意:
部分源程序存在文件PROG1.C文件中。
程序中已定义数组:
a[300],b[300],已定义变量:
cnt
请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和
写函数writeDat()的内容。
【参考答案】
jsValue()
{inti,j;/*定义变量*/
inta1,a2,a3,a4;
inttemp;
for(i=0;i<300;i++)
{a1=a[i]%10;/*数位分解*/
a2=a[i]%100/10;
a3=a[i]%1000/100;
a4=a[i]/1000;
if(a4+a3==a2+a1)/*判断条件*/
b[cnt++]=a[i];
}
for(i=0;i for(j=i+1;j if(b[i] {temp=b[i]; b[i]=b[j]; b[j]=temp; } } ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 第2套: 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到无符号字符串 数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符 进行替代,其替代值仍存入数组xx所对应的位置上,最后调用函数WriteDat()把结 果xx输出到文件OUT.DAT中。 替代关系: f(p)=p*11mod256,mod为取余运算,p是数组xx中某一个字符的 ASCII值,f(p)是计算后无符号的整型值(注意: 中间变量定义成整型变量),如果 原字符是数字字符0至9或计算后f(p)值小于等于32,则该字符不变,否则用f(p)替 代所对应的字符。 注意: 部分源程序存放在PROG1.C中,原始数据文件存放的格式是: 每行的宽 度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。 请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat() 的内容。 【参考答案】 voidencryptChar() {inti,j,val;/*定义变量*/ for(i=0;i for(j=0;j<80;j++) {val=xx[i][j]*11%256;/*替代关系*/ if(xx[i][j]>='0'&&xx[i][j]<='9'||val<=32)/*判断条件*/ continue; elsexx[i][j]=val; } } ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 第3套: 已知数据文件IN.DAT中存有300个四位数,并已调用读函数readDat()把这些 数存入数组a中,请编制一函数jsValue(),其功能是: 求出千位数上的数加个位 数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的四 位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。 最后 main()函数调用写函数writeDat()把数组b中的数输出到文件OUT.DAT中。 例如: 6712,6+2=7+1,则该数满足条件存入数组b中,且个数cnt=cnt+1。 8129,8+9! =1+2,则该数不满足条件忽略。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a[300],b[300],已定义变量: cnt 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat() 和写函数writeDat()的内容。 【参考答案】 voidjsValue() {inti,j;/*定义变量*/ inta1,a2,a3,a4; inttemp; for(i=0;i<300;i++) {a1=a[i]%10;/*数位分解*/ a2=a[i]%100/10; a3=a[i]%1000/100; a4=a[i]/1000; if(a4+a1==a3+a2)/*判断条件*/ b[cnt++]=a[i]; } for(i=0;i for(j=i+1;j if(b[i]>b[j]) {temp=b[i]; b[i]=b[j]; b[j]=temp; } } ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 第4套: 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到无符号字符串 数组xx中,请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符 进行替代,其替代值仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结 果xx输出到文件OUT.DAT中。 替代关系: f(p)=p*17mod256,mod为取余运算,p是数组xx中某一个字符的 ASCII值,f(p)是计算后的无符号整型值(注意: 中间变量定义成整型变量),如果 计算后f(p)值小于等于32或f(p)是奇数时,则该字符不变,否则用f(p)替代所对应 的字符。 注意: 部分源程序存放在PROG1.C中,原始数据文件存放的格式是: 每行的宽 度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。 请勿改动主函数main()、读函数ReadDat()和输出函数WriteDat()的内容。 【参考答案】 voidencryptChar() {inti,j,val;/*定义变量*/ for(i=0;i for(j=0;j<80;j++) {val=xx[i][j]*17%256;/*替代关系*/ if(val<=32||val%2==1)/*判断条件*/ continue; elsexx[i][j]=val; } } ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 第5套: 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到无符号字符串 数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符 进行替代,其替代值仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结 果xx输出到文件OUT.DAT中。 替代关系: f(p)=p*11mod256,mod为取余运算,p是数组xx中某一个字符的 ASCII值,f(p)是计算后无符号的整型值(注意: 中间变量定义成整型变量),如果 原字符是大写字母或计算后f(p)值小于等于32,则该字符不变,否则用f(p)替代 所对应的字符。 注意: 部分源程序存放在PROG1.C中,原始数据文件存放的格式是: 每行的宽 度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。 请勿改动主函数main()、读函数ReadDat()和输出函数WriteDat()的内容。 【参考答案】 voidencryptChar() {inti,j,val;/*定义变量*/ for(i=0;i for(j=0;j<80;j++) {val=xx[i][j]*11%256;/*替代关系*/ if(xx[i][j]>='A'&&xx[i][j]<='Z'||val<=32)/*判断条件*/ continue; elsexx[i][j]=val; } } ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 第6套: 将文件IN.DAT中的200个整数读至数组xx中。 请编制jsValue()函数,要求: 求出数组xx中的数值为奇数的个数cnt1和数值为偶数的个数cnt2以及数组xx下标 为奇数的元素值的算术平均值pj。 结果cnt1,cnt2,pj输出到OUT.DAT中。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数read_dat() 和输出函数writeDat()的内容。 【参考答案】 voidjsValue() {inti;/*定义变量*/ for(i=0;i {if(xx[i]%2==1)cnt1++; elsecnt2++; if(i%2==1)pj+=xx[i]; } pj/=(N/2);/*求平均值*/ } ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 第7套: 程序PROG1.C的功能是: 将大于整数m且紧靠m的k个素数存入数组xx。 请 考生编写函数num(intm,intk,intxx[])实现程序的要求,最后调用函 数readwriteDAT()把结果输出到out.dat文件中。 例如,若输入17,5,则应输出: 19,23,29,31,37。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动数据文件in.dat中的任何数据、主函数main()和输出函数 readwriteDAT()的内容。 【参考答案】 voidnum(intm,intk,intxx[]) {intcnt=0;/*定义变量*/ while(cnt {m++; if(isP(m))xx[cnt++]=m; } } ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 第8套: 已知数据文件IN1.DAT和IN2.DAT中分别存有100个两位十进制数,并且已 调用读函数readDat()把这两个文件中的数存入数组a和b中,请考生编制一个 函数jsVal(),实现的功能是依次对数组a和b中的数按条件重新组成一个新数 并依次存入数组c中,再对数组c中的数按从小到大的顺序进行排序,最后调用 输出函数writeDat()把结果c输出到文件OUT.DAT中。 组成新数的条件: 如果数组a和b中相同下标位置的数均是奇数,则数组a 中十位数字为新数的千位数字,个位数字仍为新数的个位数字,数组b中的十 位数字为新的百位数字,个位数字为新的十位数字,这样组成的新数并存入 数组c中。 例如: a: 123124152115 b: 324517271815 c: 345112751155 排序后c: 115512753451 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义: a[100]、b[100]和c[100]。 请勿改动数据文件IN1.DAT和IN2.DAT中的任何数据、主函数main()、读函 数readDat()和写函数writeDat()的内容。 【参考答案】 voidjsVal() {inti,j;/*定义变量*/ inta1,a2,b1,b2; intab; inttemp; for(i=0;i {a1=a[i]%10;/*数位分解*/ a2=a[i]/10; b1=b[i]%10; b2=b[i]/10; ab=a2*1000+b2*100+b1*10+a1;/*数位重组*/ if(a[i]%2==1&&b[i]%2==1)/*判断条件*/ c[cnt++]=ab; } for(i=0;i for(j=i+1;j if(c[i]>c[j]) {temp=c[i]; c[i]=c[j]; c[j]=temp; } } ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 第9套: 编写一个函数findStr(char*str,char*substr),该函数统计一个长度为2 的子字符串substr在另一个字符串str中出现的次数,该次数作为函数值返回。 例如,假定输入的字符串为"asdasasdfgasdaszx67asdmklo",子字符串 为"as",函数返回值是6。 函数ReadWrite()实现从文件in.dat中读取两个字符串,并调用函数findStr(), 最后把结果输出到文件out.dat中。 注意: 部分源程序存在文件PROG1.C中。 请勿改动主函数main()和其它函数中 的任何内容,仅在函数findStr()的花括号中填入你编写的若干语句。 【参考答案】 intfindStr(char*str,char*substr) {inti,cnt=0;/*定义变量*/ for(i=0;i<80;i++)/*统计次数*/ if(*(str+i)==*substr&&*(str+i+1)==*(substr+1))/*判断条件*/ cnt++; returncnt; } ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 第10套: 已知在文件in.dat中存有200组数据,每组有3个数,每个数均是三位数。 函 数readDat()是读取这200组数据存放到结构数组aa中。 请编制函数jsSort(),其 函数的功能是: 要求在200组数据中找出条件为每组数据中的第二个数大于第一个 数加第三个数之和,其中满足条件的个数作为函数jsSort()的返回值,同时把满 足条件的数据存入结构数组bb中,再对bb中的数据按照每组数据的第二个数加第 三个之和的大小进行降序排列(第二个数加第三个数的和均不相等),排序后的结 果仍重新存入结构数组bb中,最后调用函数writeDat()把结果bb输出到out.dat文 件中。 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat() 和写函数writeDat()的内容。 【参考答案】 intjsSort() {inti,j;/*定义变量*/ Datatemp; intcnt=0; for(i=0;i<200;i++) if(aa[i].x2>aa[i].x1+aa[i].x3)/*判断条件*/ bb[cnt++]=aa[i]; for(i=0;i for(j=i+1;j if(bb[i].x2+bb[i].x3 {temp=bb[i]; bb[i]=bb[j]; bb[j]=temp; } returncnt;/*返回函数值*/ } ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 第11套: 函数readDat()是从文件in.dat中读取20行数据存放到字符串数组xx中(每行 字符串长度均小于80)。 请编制函数jsSort(),其函数的功能是: 以行为单位对字 符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组xx中, 最后调用函数writeDat()把结果xx输出到文件out.dat中。 条件: 从字符串中间一分为二,左边部分按字符的ASCII值降序排序,右边部 分不作处理,排序后,左边部分与右边部分按例子所示进行交换。 如果原字符串 长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。 例如: 位置012345678 源字符串abcdhgfe 123498765 则处理后字符串hgfedcba 876594321 注意: 部分源程序存在文件PROG1.C文件中。 请勿改动数据文件in.dat中的任何数据、主函数main()、读函数readDat() 和写函数writeDat()的内容。 【参考答案】 voidjsSort() {unsignedinti,j,k;/*定义变量*/ inttemp; for(i=0;i<20;i++) {for(j=0;j for(k=j+1;k if(xx[i][j] {temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp; } for(j=0;j {k=j+(strlen(xx[i])+1)/2; temp=xx[i][j]; xx[i][j]=xx[i][k]; xx[i][k]=temp; } } } ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 第12套: 已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。 其中: 金额=单价*数量计算得出。 函数ReadDat()读取这100个销售记录并存入结构数组sell中。 请编制函数SortDat(),其功能要求: 按金额从大到小进行排列,若金额相等,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中。 最后main()函数调用函数WriteDat()把结果输出到文件OUT.DAT中。 提示: 若中间变量为PROtemp,则可以直接使用结构赋值语句进行解题;产品代码比较请用函数strcmp进行解题。 例如: sell[i]=temp; 注意: 部分源程序存放在PROG1.C中。 请勿改动主函数main()、读函数ReadDat()和输出函数WriteDat()的内容。 【参考答案】 voidSortDat() {inti,j;/*定义变量*/ PROtemp; for(i=0;i for(j=i+1;j if(sell[i].je ||sell[i].je==sell[j].je&&strcmp(sell[i].dm,sell[j].dm)<0) {temp=sell[i]; sell[i]=sell[j]; sell[j]=temp; } } ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 第13套: 已知文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 若一个四位数的千位数位置上的值小于等于百位数位置上的值,百位数位置上的值小于等于十位数位置上的值,以及十位数位置上的值小于等于个位数位置上的值,并且原四位数是偶数,则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到文件OUT.DAT中。 注意: 部分源程序存在文件PROG1.C文件中。 程序中已定义数组: a[200],b[200],已定义变量: cnt。 请勿改动数据文件IN.DAT中的任何数据、主函数main()、读函数readDat()和写函数writeDat()的内容。 【参考答案】 voidjsVal() {inti,j;/*定义变量*/ inta1,a2,a3,a4; inttemp; for(i=0;i {a1=a[i]%10;/*数位分解*/ a2=a[i]%100/10; a3=a[i]%1000/100; a4=a[i]/1000; if(a4<=a3&&a3<=a2&&a2<=a1&&a[i]%2==0)/*判断条件*/ b[cnt++]=a[i]; } for(i=0;i for(j=i+1;j if(b[i]>b[j]) {temp=b[i]; b[i]=b[j]; b[j]=temp; } } ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 第14套: 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx对应的位置上,最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。 替代关系: f(p)=p*11mod256,mod为取余运算,p是数组xx中某一个字符的ASCII值,f(p)是计算后的无符号整型值(注意: 中间变量定义成整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是"0"至"9",则该字符不变,否则用f(p)替代所对应的字符。 注意: 部分源程序存放在PROG1.C中,原始数据文件存放的格式是: 每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。 请勿改动主函数main()、读函数ReadDat()和输出函数WriteDat()的内容。 【参考答案】 voidencryptChar() {inti,j,val;/*定义变量*/ for(i=0;i for(j=0;j<80;j++) {val=xx[i][j]*11%256;/*替代关系*/ if(val<=32||val>='0'&&val
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三级 计算机网络 上机 精华 50
![提示](https://static.bdocx.com/images/bang_tan.gif)