《三级网络技术上机试题南开100题.doc》由会员分享,可在线阅读,更多相关《三级网络技术上机试题南开100题.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、素数问题题目1/34/64/66题目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-;*题目34(素数题)无忧id 102 题提供了求素
2、数isPrime()函数程序prog1.c的功能是:选出100以上1000之内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。计算并输出上述这些素数的个数cnt以及这些素数值的和sum。 请考生编写函数countValue( )实现程序要求,最后调用函数writeDAT()把结果cnt和sum输出到文件bc10.out中。 int isPrime(int m) int i; for(i=2;im;i+) if(m % i=0)return 0; return 1;void countValue() int i,j,bw,sw,gw; for(i=100;i1000;i
3、+) bw=i/100; sw=i%100/10; gw=i%10; if(isPrime(i)&(gw+sw)%10=bw) cnt+; sum+=i; *题目64(素数题)下列程序的功能是:找出所有100以内(含100)满足I,I+4,I+10都是素数的整数I(I+10也在100以内)的个数cnt以及这些I之和sum。请编写函数countValue()实现程序要求的功能,最后调用函数writeDat()把结果cnt和sum输出到文件out.dat中。 int isPrime(int m) int i; for(i=2; im; i+) if(m % i =0) return 0 ; ret
4、urn 1;void countValue()int i; for(i=2;i=90;i+) if(isPrime(i)&isPrime(i+4)&isPrime(i+10) cnt+;sum+=i;运行结果为:满足条件的整数的个数7满足条件的整数的和值201题目66(素数题)下列程序prog1.c的功能是:计算500-800区间内素数的个数cnt,并按所求素数的值从大到小的顺序,再计算其间隔加、减之和,即第1个素数-第2个素数+第3个素数-第4个素数+第5个素数.的值sum。请编写函数countValue()实现程序的要求,最后调用函数writeDat()把结果cnt和sum,输出到文件OU
5、T11.DAT中。 int isP(int m) int i; for(i=2;i500;i-)if(isP(i) cnt+; sum=sum+k*i; k=k*(-1); *删除小写字母o题目3题目3(字符型题)void StrOR(void)int i,righto,j,s,k; char tem80; for(i=0;i=0;j-) k=0; memset(tem,0,80); if(xxij=o) righto=j; for(s=righto+1;sstrlen(xxi);s+) temk+=xxis; for(s=0;srighto;s+) if(xxis!=o) temk+=xxi
6、s; strcpy(xxi,tem); else continue; *单词倒排题目4题目4 函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT6.DAT中。 例如:原文:You He Me I am a student.结果:Me He You student a am I void StrOL(void) int i,j,k,s,
7、m,strl; char str80; for(i=0;i=0;j-) if(isalpha(xxij) k+; else for(m=1;m=k;m+) strs+=xxij+m; k=0; if(!isalpha(xxij) strs+= ; for(m=1;m=k;m+) strs+=xxij+m;strs=0; strcpy(xxi,str); *按数的前几位排序题目5/6题目5(整数排序题)在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的
8、大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。 例:处理前 6012 5099 9012 7025 8088 处理后 9012 6012 7025 8088 5099 void jsSort() int i,j,t; for(i=0;i200;i+) for(j=i;jaaj%1000|aai%1000=aaj%1000&aaiaaj) t=aai; aai=aaj; aaj=t; for(i=0;i10;i+) bbi=aai;*题目6 正整数排序在文
9、件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat()把结果bb输出到文件out.dat中。例:处理前 9012 5099 6012 7025 8088 处理后 5099 8088 7025 6012 9012 void jsSort() int i,j,data; for(i=0;i199;i+) for(j=
10、i+1;j200;j+) if(aai%1000aaj) data=aai;aai=aaj;aaj=data; for(i=0;i10;i+) bbi=aai;产品的五要素比较,结构问题题目7/12/13/31/32/38/42/47/61/99题目7(结构体操作题)已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能
11、要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。 void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j100;j+) if(strcmp(selli.dm,sellj.dm)0|strcmp(selli.dm,sellj.dm)=0&selli.jesellj.je) xy=selli; sell i=sellj; sellj=xy;*题目12(结构体运算题题)已知在文件IN.DAT中存有100个产
12、品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j0|strcmp(selli.mc,sellj.mc)=0&selli.je
13、sellj.je) xy=selli;selli=sellj;sellj=xy;*题目13(结构体运算题)已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件
14、OUT9.DAT中。 void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j0|strcmp(selli.dm,sellj.dm)=0&selli.jesellj.je) xy=selli;selli=sellj;sellj=xy;*题目31(结构体运算题)已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构
15、数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列, 最终排列结果仍存入结构数组sell中,最后调用函数WriteDat() 把结果输出到文件OUT4.DAT中。 void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j100;j+) if(selli.jesellj.je|selli.je=sellj.je&strcmp(selli.dm,sellj.dm)0) xy=selli;selli=sellj;sellj=xy;*题目32(结构体运算题)已知在文件IN
16、.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相等,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT7.DAT中。 void SortDat()int i,j; PRO xy; for(i=0;i99;i+) fo
17、r(j=i+1;j100;j+) if(strcmp(selli.mc,sellj.mc)sellj.je) xy=selli;selli=sellj;sellj=xy;题目38(结构体运算题)已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相同,则按金额从小到大进行排列
18、,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DAT中。 void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j0|strcmp(selli.dm,sellj.dm)=0&selli.jesellj.je) xy=selli;selli=sellj;sellj=xy;*题目42 结构体运算题已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其
19、中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相等,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT5.DAT中。 部分源程序存在文件prog1.c中。void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j100;j+) if(strcmp(selli.mc,sellj.mc)0|strcmp(selli.mc,sellj.mc)
20、=0&selli.jesellj.je) xy=selli;selli=sellj;sellj=xy;*题目47(结构体运算题 )已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数void Sor
21、tDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;j100;j+) if(selli.je0) xy=selli;selli=sellj;sellj=xy;*题目61(结构体运算题)已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从小到大进行排列,若金额相
22、同,则按产品代码从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT2.DAT中。 void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;jsellj.je|selli.je=sellj.je&strcmp(selli.dm,sellj.dm)0) xy=selli; selli=sellj; sellj=xy;*题目99(结构体排列题)已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型)
23、,数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从小到大进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT1.DAT中。 void SortDat()int i,j; PRO xy; for(i=0;i99;i+) for(j=i+1;jsellj.je|selli.je=sellj.je&strcmp(selli.dm,sellj.dm)0) xy
24、=selli;sell i=sellj;sellj=xy;*按F(p)=p*? mod256替换字符题目8/18/36/37/56/62/95/96/97/98题目8(字符替换题)函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS1.DAT中。替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于
25、等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。(注意中间变量用无符号整型),部分源程序存在文件prog1.c中。原始数据文件存放的格式是:每行的宽度均小于80个字符。void encryptChar() int i,j; for(i=0;imaxline;i+) for(j=0;jstrlen(xxi);j+) if(xxij*11%256130) continue; else xxij=xxij*11%256;*题目18(字符替换题)函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的
26、替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS10.DAT中。 替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。 void encryptChar() int i,j; for(i=0;imaxline;i+) for(j=0;jstrlen(xxi);j+) if(xxij*11%256=32|xxij%2=0) continue
27、; else xxij=xxij*11%256;*题目36(字符替换题)函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件pS6.DAT中。替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是数字0至9,则该字符不变,否则将f(p)所对应的字符进行替代。void enc
28、ryptChar() int i,j; for(i=0;imaxline;i+) for(j=0;jstrlen(xxi);j+) if(xxij*11%256=0&xxij*11%256=9) continue; else xxij=xxij*11%256;*题目37(字符替换题)函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS7.DAT中。替代关系:f(p)=p*11 mod 25
29、6(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是大写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。void encryptChar() int i,j; for(i=0;imaxline;i+) for(j=0;jstrlen(xxi);j+) if(xxij*11%256=A&xxij=Z) continue; else xxij=xxij*11%256;*题目56(字符替换题)函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定
30、的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS5.DAT中。替代关系:f(p)=p*11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变,否则将f(p)所对应的字符进行替代。void encryptChar() int i,j; for(i=0;imaxline;i+) for(j=0;jstrlen(xxi);j+) if(xxij*11%256=a&xxij*11%256=z) conti
31、nue; else xxij=xxij*11%256;*题目62(字符替换题)无忧id 9 题条件微有不同函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS2.DAT中。替代关系:f(p)=p*13 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或其ASCII值是偶数,则该字符不变,否则将f(p)所对应的字符进
32、行替代。void encryptChar() int i,j; for(i=0;imaxline;i+) for(j=0;jstrlen(xxi);j+) if(xxij*13%256=32|(xxij*13%256)%2=0) continue; else xxij=xxij*13%256;*题目95(字符替换题)函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS4.DA中。替代关系:
33、f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是大写字母,则该字符不变,否则将f(p)所对应的字符进行替代。void encryptChar() int i,j; for(i=0;imaxline;i+) for(j=0;jstrlen(xxi);j+) if(xxij*11%256=A&xxij*11%256=Z) continue; else xxij=xxij*11%256;*题目96(字符替换题)函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符
34、串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS5.DAT中。替代关系:f(p)=p*11mod 256 (p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是小写字母或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。void encryptChar() int i,j; for(i=0;imaxline;i+) for(j=0;jstrlen(xxi);j+) if(xxij*11%256
35、=a&xxij=z) continue; else xxij=xxij*11%256;*题目97(字符替换题)函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS9.DAT中。替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果原字符是数字字符0至9或计算后f(p)值小于等于32,则该字符不变,否则将f(p)所对应的
36、字符进行替代。void encryptChar() int i,j; for(i=0;imaxline;i+) for(j=0;jstrlen(xxi);j+) if(xxij*11%256=0&xxij=9) continue; else xxij=xxij*11%256;*题目98(字符替题) 函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS3.DAT中。替代关系:f(p)=p*1
37、7 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或其ASCII值是奇数,则该字符不变,否则将f(p)所对应的字符进行替代。void encryptChar() int i,j; for(i=0;imaxline;i+) for(j=0;jstrlen(xxi);j+) if(xxij*17%256=32|(xxij*17%256)%2!=0) continue; else xxij=xxij*17%256;*字符串排序题目9/88题目9(字符串排序题)函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数SortCharD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT2.DAT中。 例:原文:dAe,BfC. CCbbAA 结果:fedCBA. bbCCAA void SortCharD
限制150内