2012年三级网络技术,数据库技术上机南开100题库word版
2012年9月计算机等级考试三级网络技术上机题库
41\在文件in.dat中有200个正整数,且每个数均在1000至9999之间。
函数ReadDat()读取这200个数存放到数组aa中。
请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,如果后三位的数值相等,则按原先的数值进行降序排列。
最后调用函数WriteDat()把结果bb输出到文件out.dat中。
例:处理前6012 5099 9012 7025 8088处理后9012 6012 7025 8088 5099void jsSort(){int i,j,data;for(i=0;i<199;i++)for(j=i+1;j<200;j++)if(aa[i]%1000>aa[j]%1000||aa[i]%1000==aa[j]%1000&&aa[i]<aa[j]){data=aa[i];aa[i]=aa[j];aa[j]=data;}for(i=0;i<10;i++)bb[i]=aa[i];}******************************************************************************40\在文件in.dat中有200个正整数,且每个数均在1000至9999之间。
函数ReadDat()读取这200个数存放到数组aa中。
请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。
最后调用函数WriteDat()把结果bb输出到文件out.dat中。
例:处理前9012 5099 6012 7025 8088处理后5099 8088 7025 6012 9012void jsSort(){int i,j,data;for(i=0;i<199;i++)for(j=i+1;j<200;j++)if(aa[i]%1000<aa[j]%1000||aa[i]%1000==aa[j]%1000&&aa[i]>aa[j]){data=aa[i];aa[i]=aa[j];aa[j]=data;}for(i=0;i<10;i++)bb[i]=aa[i];}***************************************************************************39\已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该四位数连续大于该四位数以后的五个数且该数是奇数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt并把这些四位数按从小到大的顺序存入数组b中,最后调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DA T文件中。
三级数据库技术南开100题
三级数据库上机南开100 题if(b[i]<b[j]) { qw=b[i]; b[i]=b[j];b[j]=qw;}}☆题目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(intm){inti;for(i=2;i<m;i++)if(m % i==0)return 0;return 1;}void num(int m,int k,intxx[]){ int s=0;for(m=m+1;k>0;m++)if(isP(m)) { xx[s++]=m;k--;}}题目2已知数据文件 IN.DAT 中存有200 个四位数,并已调用读函数readDat()把这些数存入数组 a 中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0 或 2 或 4 或 6 或 8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组 b 中。
最后 main( )函数调用写函数 writeDat()把结果cnt 以及数组b 中符合条件的四位数输出到OUT.DA T 文件中。
voidjsVal(){ inti,j,qw,bw,sw,gw;for(i=0;i<MAX;i++){ qw=a[i]/1000; bw=a[i]/100%10;sw=a[i]%100/10; gw=a[i]%10;if(qw&&qw%2==0&&bw%2==0&&sw%2==0&&gw%2==0)b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)for(j=i+1;j<cnt;j++)*********************************************** *******************************★题目3(字符型题)函数ReadDat( )实现从文件 IN.DAT 中读取一篇英文文章存入到字符串数组 xx 中;请编制函数 StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母 o 左边的字符串内容移到该串的右边存放,然后把小写字母 o 删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组 xx 中。
2012年3月计算机等级考试三级网络技术真题与答案真的Word版
2012年3月计算机等级考试三级网络技术真题与答案一、选择题(每小题1 分,共60分)(1)关于移动互联的描述中,错误的是A.移动互联发展越来越快B.智能手持终端将成为主流C.终端不再需要后台服务的支持D.移动互联将会开放世界(2)关于计算机应用的描述中,正确的是A.地理信息系统已用于出行导航B.模拟经济运行是繁琐的日常事务处理C.专家系统已能取代名医诊断与开处方D.模拟实战演习是打赢信息化战争的核心(3)关于服务器的描述中,错误的是A 服务器平台大多由双核及多核芯片组成B.大型主机和巨型计算机可作为服务器C.刀片服务器可以节约使用空间D按体系结构可分为RISC 和VLIW 两种(4)关于计算机芯片的描述中,正确的是A.最早的微机Altair 使用Motorola 6800 芯片B .IBM-PC 最早使用Intel 8080 芯片C.红极一时的Apple II 使用Z-80 芯片D.经典奔腾按照顺序应该叫80686 芯片(5)关于软件概念的描述,错误的是A.软件可分为系统软件和应用软件B.操作系统是最核心的应用软件C.共享软件不是自由软件D.文字处理软件是应用软件(6)满足音频流和视频流均同步的偏移误差范围是()。
A.±1ms B.±8ms C.±18ms D.±80ms(7)关于TCP/IP 参考模型的描述,错误的是()。
A.分为4 个层次B.最底层为传输层C.由IETF 制定D.最高层为应用层(8)如果网络节点传输1M 比特数据需要0.002s,则该网络的数据传输率为()。
A.8Gbps B.4GbpsC.800Mbps D.500Mbps(9)关于y 以太网帧结构的描述,正确的是()。
A目的地址与源地址使用MAC地址B帧前定界符字段需要计入帧头度C数据字段的最小长度为64 字节D帧检验字段采用96 位的CRC校验(10)DNS 协议实现的基本功能是A.路由选择B.域名解析C.邮件接收D.远程登录(11)在OSI 参考模型中,提供路由选择功能的层次是()。
计算机三级网络技术机试_南开100套
一、素数题:题目 1.请编写一个函数jsV alue(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。
例如:若输入17 5 则应输出:19,23,29,31,37。
int isP(int m){int i;for(i=2;i<m;i++)if(m % i==0)return 0;return 1;}void num(int m,int k,int xx[]){ int s=0;for(m=m+1;k>0;m++)if(isP(m)) { xx[s++]=m; k--;}}题目34.程序prog1.c的功能是:选出100以上1000之内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293)。
计算并输出上述这些素数的个数cnt以及这些素数值的和sum。
请考生编写函数countV alue( )实现程序要求void countV alue(){ int i,j,bw,sw,gw;for(i=100;i<1000;i++){bw=i/100; sw=i%100/10; gw=i%10;for(j=2;j<i;j++)if(i%j==0) break;if((i==j) &&(gw+sw)%10==bw) { cnt++; sum+=i;}}}55、已知数据文件in.dat中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制一函数jsV alue(),其功能是:求出所有这些四位数是素数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writeDat()把结果输出到out.dat文件。
例如:5591是素数,则该数满足条件存入数组b中,且个数cnt=cnt+1。
9812是非素数,则该数不满足条件忽略。
2012年下半年全国计算机等级考试三级网络技术上机南开100题
全国计算机等级考试三级网络技术上机南开100题☆题目1请编写一个函数num (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;i<m;i++)if(m % i==0)return 0;return 1;}void num(int m,int k,int xx[]){ int s=0;for(m=m+1;k>0;m++)if(isP(m)) { xx[s++]=m; k--;}}题目2已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
void jsVal(){ int i,j,qw,bw,sw,gw;for(i=0;i<MAX;i++){ qw=a[i]/1000; bw=a[i]/100%10;sw=a[i]%100/10; gw=a[i]%10;if(qw&&qw%2==0&&bw%2==0&&sw%2==0&&gw%2==0)b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)for(j=i+1;j<cnt;j++)if(b[i]<b[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;}}★题目3(字符型题)函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx中。
计算机三级上机适用于三级网络技术数据库等南开题
全国计算机等级考试三级C语言上机100题几点说明:**********************************☆题目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()的内容。
#include <conio.h>#include <stdio.h>void readwriteDat();int isP(int m){int i;for(i=2;i<m;i++)if(m % i==0)return 0;return 1;}void num(int m,int k,int xx[]){ int s=0;for(m=m+1;k>0;m++)if(isP(m)) { xx[s++]=m; k--;}}main(){int m,n,xx[1000];clrscr();printf("\nPlease enter two integers:");scanf("%d%d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)printf("%d ",xx[m]);printf("\n");readwriteDat();}void readwriteDat(){int m,n,xx[1000], i;FILE *rf,*wf;rf=fopen("in.dat","r");wf=fopen("out.dat","w");for(i=0;i<10;i++){fscanf(rf,"%d %d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)fprintf(wf,"%d ",xx[m]);fprintf(wf,"\n");}fclose(rf);fclose(wf);}*********************************☆题目2已知数据文件IN.DA T中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
三级网络南开100题
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <ctype.h>
char xx[50][80];
int maxline=0;/*文章的总行数*/
FILE *fp ;
int i = 0 ;
char *p ;
if((fp = fopen("IN.DAT", "r")) == NULL) return 1 ;
while(fgets(xx[i], 80, fp) != NULL) {
p = strchr(xx[i], '\n') ;
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序存放在文件prog1.c中。
请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。
#include <stdio.h>
#include <string.h>
例如:原文:You He Me
I am a student.
结果:Me He You
student a am I
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
部分源程序存在文件prog1.c中。
int ReadDat(void);
void WriteDat(void);
南开100题加精版
计算机三级网络技术上机试题100道(类型加精版)在计算机三级网络技术上机100道题中有好多题是同一种类型的,其实,看一种类型只要看会一道题就可以了.所以我把同种类型的题选出一道最经典的,这样就能节省大部分精力去干你想干的事情了.去1:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8, 则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。
最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
程序中已定义数组: a[200], b[200], 已定义变量: cntvoid jsVal() /*标准答案*/{int bb[4];int I,j,k,flag;for (I=0;I<200;I++){bb[0]=a[I]/1000; bb[1]=a[I]%1000/100;bb[2]=a[I]%100/10; bb[3]=a[I]%10;for (j=0;j<4;j++){if (bb[j]%2==0)flag=1;else{flag=0;break;}}if (flag==1){ b[cnt]=a[I];cnt++;} }for(I=0;I<cnt-1;I++)for(j=I+1;j<cnt;j++)if (b[I]<b[j]){k=b[I];b[I]=b[j];b[j]=k;}}2:函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中; 请编制函数StrOL( ), 其函数的功能是: 以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排,同时去除标点符号,之后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中。
全国计算机等级考试三级网络技术南开上机100题
全国计算机等级考试三级网络技术南开上机100题几点说明:1、题目标题号前用“☆”显示的是2005年4月份本人根据各大论坛考生聩的题号集中而来,题号前加“★”为2005年9月上机考试题,其中难免有题型相同而题号增加的现象,此类标明,仅供参考。
2、每种题目,只用一种解题方法,加粗部分为解题答案,此种方法本人觉得容易理解,不易出错,适合初学者。
3、特别说明:所有解法,本人均上机验证通过。
4、个别南开题如57、100题,题目与原书有所不同,是按实际考试的题目所来,并对今年在实际上机中出现的考题,用红色部分表示实际上机题中的注明事项。
☆题目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()的内容。
#include <conio.h>#include <stdio.h>void readwriteDat();int isP(int m){int i;for(i=2;i<m;i++)if(m % i==0)return 0;return 1;}void num(int m,int k,int xx[]){ int s=0;for(m=m+1;k>0;m++)if(isP(m)) { xx[s++]=m; k--;}}main(){int m,n,xx[1000];clrscr();printf("\nPlease enter two integers:"); scanf("%d%d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)printf("%d ",xx[m]);printf("\n");readwriteDat();}void readwriteDat(){int m,n,xx[1000], i;FILE *rf,*wf;rf=fopen("in.dat","r");wf=fopen("out.dat","w");for(i=0;i<10;i++){fscanf(rf,"%d %d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)fprintf(wf,"%d ",xx[m]);fprintf(wf,"\n");}fclose(rf);fclose(wf);}☆题目2已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
2012年9月计算机等级考试三级网络技术上机100题库南开一百题最权威版本新思路自己整理,9月考试必中无遗漏
题目1请编写一个函数jsV alue(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;i<m;i++)if(m % i==0)return 0;return 1;}void num(int m,int k,int xx[]){ int s=0;for(m=m+1;k>0;m++)if(isP(m)) { xx[s++]=m; k--;}}题目2已知数据文件IN.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[300],已定义变量:cnt、pjz1、pjz2。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
【参考答案】void jsValue(){int i;for(i=0;i<300;i++)if(isP(a[i])){ pjz1+=a[i]; cnt++; }else pjz2+=a[i];pjz1=pjz1/cnt;pjz2=pjz2/(300-cnt);}************************************************************************题目3下列程序的功能是:找出所有100以内(含100)满足I,I+4,I+10都是素数的整数I(I+10也在100以内)的个数cnt以及这些I之和sum。
整理版 计算机三级网络技术上机试题100道(南开100)题目及答案 考试题库
题目1:请编写函数num(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。
最后调用函数readwriteDAT(),从in.dat文件中读取10组数据,分别得出结果,且把结果输出到文件out.dat中。
例如:若输入17 5,则应输出:19 23 29 31 37。
void num(int m, int k, int xx[]){int data = m+1;int half, n = 0, i;while(1){half = data/2;for (i=2; i<=half; i++)if (data%i == 0)break;if (i > half){xx[n] = data;n++;}if (n >= k)break;data++;}}题目2:已知数据文件IN.DAT中存有200个四位数, 并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是: 如果四位数各位上的数字均是0或2或4或6或8, 则统计出满足此条件的个数cnt, 并把这些四位数按从大到小的顺序存入数组b中。
最后main()函数调用写函数writeDat( )把结果cnt以及数组b中符合条件的四位数输出到OUT.DAT文件中。
程序中已定义数组: a[200], b[200], 已定义变量: cntvoid jsVal(){int bb[4];int i, j, k, flag;for (i=0; i<200; i++){bb[0] = a[i]/1000;bb[1] = a[i]%1000/100;bb[2] = a[i]%100/10;bb[3] = a[i]%10;for (j=0; j<4; j++){if (bb[j]%2 == 0)flag = 1;}else{flag = 0;break;}}if (flag == 1){b[cnt] = a[i];cnt++;}}for (i=0; i<cnt-1; i++)for (j=i+1; j<cnt; j++)if (b[i] < b[j]){k = b[i];b[i] = b[j];b[j] = k;}3题目:题目3:函数READDAT()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数STROR(),其函数功能是:以行为单位把字符串中的所有小写字母O左边的字符串内容移到该串的右边存放,然后并把小写字母O删除,余下的字符串内容移到已处理字符串的左边存放.最后把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数WRITEDAT()把结果XX输出到文件OUT.DAT中.例如:原文:n any field .Yu can create an indexyou have the correct record.结果: n any field.Yu can create an indexrd.yu have the crrect recvoid StrOR(void){int i, j, k;char buf[80];for (i=0; i<maxline; i++){j = strlen(xx[i])-1;while (xx[i][j]!='o' && j>=0)if (j < 0)continue;xx[i][j] = 0;strcpy(buf, &xx[i][j+1]);k = j = 0;while (xx[i][j]){while (xx[i][j]!='o' && xx[i][j])j++;if (!xx[i][j]){strcat(buf, &xx[i][k]);break;}xx[i][j] = 0;strcat(buf, &xx[i][k]);j++;k = j;}strcpy(xx[i], buf);}}4题目:题目4:函数ReadDat( )实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中; 请编制函数StrOL( ), 其函数的功能是: 以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排,最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中。
计算机三级上机:适用于三级网络技术、数据库等(南开100题)
全国计算机等级考试三级C语言上机100题几点说明:**********************************☆题目1请编写一个函数jsValue(intm,intk,intxx[]),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。
最后调用函数writeDat()读取10组数据,分别得出结果且把结果输出到文件out.dat中。
部分源程序存在文件prog1.c中。
例如:若输入175则应输出:19,23,29,31,37。
请勿改动主函数main()和写函数writeDat()的内容。
#include<conio.h>#include<stdio.h>voidreadwriteDat();intisP(intm){inti;for(i=2;i<m;i++)if(m%i==0)return0;return1;}voidnum(intm,intk,intxx[]){ints=0;for(m=m+1;k>0;m++)if(isP(m)){xx[s++]=m;k--;}}main(){intm,n,xx[1000];clrscr();printf("\nPleaseentertwointegers:");scanf("%d%d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)printf("%d",xx[m]);printf("\n");readwriteDat();}voidreadwriteDat(){intm,n,xx[1000],i;FILE*rf,*wf;rf=fopen("in.dat","r");wf=fopen("out.dat","w");for(i=0;i<10;i++){fscanf(rf,"%d%d",&m,&n);num(m,n,xx);for(m=0;m<n;m++)fprintf(wf,"%d",xx[m]);fprintf(wf,"\n");}fclose(rf);fclose(wf);}*********************************☆题目2已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a 中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
2012计算机三级数据库、网络技术、信息管理上机题库
2012计算机三级数据库、⽹络技术、信息管理上机题库1求出千位数上的数加个位数上的数等于百位数上的数加⼗位数上的数的个cnt,再把所有满⾜此条件的四位数依次存⼊数组b 中,然后对数组b的四位数按从⼩到⼤的顺序进⾏排序1.void jsValue(){ int i,j;int a1,a2,a3,a4;int temp;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;ifor(j=i+1;jif(b[i]>b[j]){ temp=b[i];b[i]=b[j]; b[j]=temp;}}4对a与b按条件存⼊c中从⼩到⼤排序,数组a,b中相同下标位置必须符合⼀个是偶数,⼀个是奇数,则数a中按⼆进制数左移⼋位后再加上数组b对应位置上的数,4.void jsVal(){ int i,j; /* 定义变量 */int temp;for(i=0;iif(a[i]%2==1&&b[i]%2==0||a[i]%2==0&&b[i]%2==1) /* 判断条件 */c[cnt++]=(a[i]<<8)+b[i];for(i=0;ifor(j=i+1;jif(c[i]>c[j]){ }}千位数上的数与百位数字之和等于⼗位数字与个位数字之和,且千位数上的数与百位数字之和等于个位与千位之差的10倍,计算个数cnt 和sum6.void countValue(){ int i,j; /* 定义变量 */int a1,a2,a3,a4;for(i=1000;i<=9999;i++){ for(j=2;jif(i%j==0)break;if(j==i&&a4+a3==a2+a1&&a4+a3==(a1-a4)*10) /* 判断条件 */{ cnt++;sum+=i;}}7如果四位数各位上的数字均是0或2或4或6或8,则统计出满⾜此条件的个数cnt,并把这些四位数按从⼤到⼩的顺序存⼊数组b中7.void jsVal(){ int i,j; /* 定义变量 */int a1,a2,a3,a4;int temp;for(i=0;i{ if(a1%2==0&&a2%2==0&&a3%2==0&&a4%2==0) /* 判断条件 */b[cnt++]=a[i];}for(i=0;ifor(j=i+1;jif(b[i]{ }13按产品名称从⼩到⼤进⾏排列,若产品名称相等,则按⾦额从⼩到⼤进⾏排列,最终排列结果仍存⼊结构数组sell中13.void SortDat(){ int i,j; /* 定义变量 */PRO temp;for(i=0;ifor(j=i+1;jif(strcmp(sell[i].mc,sell[j].mc)>0 /* 判断条件 */||strcmp(sell[i].mc,sell[j].mc)==0&&sell[i].je>sell[j].je){ }}}18按⾦额从⼤到⼩进⾏排列,若⾦额相等,按产品名称从⼩到⼤进⾏排列18.void SortDat(){ int i,j; /* 定义变量 */PRO temp;for(i=0;ifor(j=i+1;jif(sell[i].je||sell[i].je==sell[j].je&&strcmp(sell[i].mc,sell[j].mc)>0){ }}}}26把千位数字和⼗位数字重新组成⼀个新的⼗位数(新⼗位数的⼗位数字是原四位数的千位数字,新个位数的是原四位数的⼗位数字),以及把个位数字和百位数字组成另⼀个新的⼗位数(新⼗位数的是原四位数的个位数字,新个位数的是原四位数的百位数字),如果新组成的两个⼗位数均是素数且新数的⼗位数字均不为零,则将满⾜此条件的四位数按从⼤到⼩的顺序存⼊数组b中,并要计算满⾜上述条件的四位数的个数cnt。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
☆题目1请编写一个函数jsV alue(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;i<m;i++)if(m % i==0)return 0;return 1;}void num(int m,int k,int xx[]){ int s=0;for(m=m+1;k>0;m++)if(isP(m)) { xx[s++]=m; k--;}}题目2已知数据文件IN.DA T中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是0或2或4或6或8,则统计出满足此条件的个数cnt,并把这些四位数按从大到小的顺序存入数组b中。
最后main( )函数调用写函数writeDat()把结果cnt以及数组b中符合条件的四位数输出到OUT.DA T文件中。
void jsVal(){ int i,j,qw,bw,sw,gw;for(i=0;i<MAX;i++){ qw=a[i]/1000; bw=a[i]/100%10;sw=a[i]%100/10; gw=a[i]%10;if(qw&&qw%2==0&&bw%2==0&&sw%2==0&&gw%2==0) b[cnt++]=a[i];}for(i=0;i<cnt-1;i++)for(j=i+1;j<cnt;j++)if(b[i]<b[j]) { qw=b[i]; b[i]=b[j]; b[j]=qw;}}******************************************************************************★题目3(字符型题)函数ReadDat( )实现从文件IN.DA T中读取一篇英文文章存入到字符串数组xx中;请编制函数S trOR( ),其函数的功能是:以行为单位依次把字符串中所有小写字母o左边的字符串内容移到该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,之后把已处理的字符串仍按行重新存入字符串数组xx 中。
最后main()函数调用函数WriteDat()把结果xx输出到文件OUT5.DA T中void StrOR(void){int i,righto,j,s,k;char tem[80];for(i=0;i<maxline;i++)for(j=strlen(xx[i])-1;j>=0;j--){ k=0;memset(tem,0,80);if(xx[i][j]=='o'){righto=j;for(s=righto+1;s<strlen(xx[i]);s++)tem[k++]=xx[i][s];for(s=0;s<righto;s++)if(xx[i][s]!='o')tem[k++]=xx[i][s];strcpy(xx[i],tem);}else continue;}}★题目4(字符处理——发序输出)函数ReadDat()实现从文件IN.DA T中读取一篇英文文章存入到字符串数组xx中,请编制函数StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。
最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT6.DA T中。
例如:原文:Y ou He MeI am a student.结果:Me He Y oustudent a am Ivoid StrOL(void){ int i,j,k,s,m,strl;char str[80];for(i=0;i<maxline;i++){ strl=strlen(xx[i]);memset(str,0,80);s=k=0;for(j=strl-1;j>=0;j--){ if(isalpha(xx[i][j])) k++;else { for(m=1;m<=k;m++)str[s++]=xx[i][j+m];k=0;}if(!isalpha(xx[i][j]))str[s++]=' ';}for(m=1;m<=k;m++)str[s++]=xx[i][j+m];str[s]='\0';strcpy(xx[i],str); }}☆题目5(整数排序题)在文件in.dat中有200个正整数,且每个数均在1000至9999之间。
函数ReadDat()读取这200个数存放到数组aa中。
请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb中,如果后三位的数值相等,则按原先的数值进行降序排列。
最后调用函数WriteDat()把结果bb输出到文件out.dat中。
例:处理前6012 5099 9012 7025 8088处理后9012 6012 7025 8088 5099void jsSort(){int i,j,data;for(i=0;i<199;i++)for(j=i+1;j<200;j++) if(aa[i]%1000>aa[j]%1000||aa[i]%1000==aa[j]%1000&&aa[i]<aa[j]) {data=aa[i];aa[i]=aa[j];aa[j]=data;}for(i=0;i<10;i++)bb[i]=aa[i];}******************************************************************************☆题目6正整数排序在文件in.dat中有200个正整数,且每个数均在1000至9999之间。
函数ReadDat()读取这200个数存放到数组aa中。
请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组b中,如果后三位的数值相等,则按原先的数值进行升序排列。
最后调用函数WriteDat()把结果bb输出到文件out.dat中。
例:处理前9012 5099 6012 7025 8088处理后5099 8088 7025 6012 9012void jsSort(){int i,j,data;for(i=0;i<199;i++)for(j=i+1;j<200;j++)if(aa[i]%1000<aa[j]%1000||aa[i]%1000==aa[j]%1000&&aa[i]>aa[j]){data=aa[i];aa[i]=aa[j];aa[j]=data;}for(i=0;i<10;i++)bb[i]=aa[i];}***************************************************************************☆题目7(结构体操作题)已知在文件IN.DA T中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。
其中:金额=单价*数量计算得出。
函数ReadDat()是读取这100个销售记录并存入结构数组sell中。
请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT6.DA T中。
void SortDat(){int i,j;PRO xy;for(i=0;i<99;i++)for(j=i+1;j<100;j++)if(strcmp(sell[i].dm,sell[j].dm)<0||strcmp(sell[i].dm,sell[j].dm)==0&&sell[i].je<sell[j].je){xy=sell[i]; sell [i]=sell[j]; sell[j]=xy;}}******************************************************************************★题目8(字符替换题)函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS1.DA T中。
替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或大于130,则该字符不变,否则将f(p)所对应的字符进行替代。
(注意中间变量用无符号整型),部分源程序存在文件prog1.c中。
原始数据文件存放的格式是:每行的宽度均小于80个字符。
void encryptChar(){ int i,j;for(i=0;i<maxline;i++)for(j=0;j<strlen(xx[i]);j++)if(xx[i][j]*11%256<=32||xx[i][j]*11%256>130) continue;else xx[i][j]=xx[i][j]*11%256;}******************************************************************************★☆题目9(字符串排序题)函数ReadDat()实现从文件IN.DA T中读取一篇英文文章存入到字符串数组xx中,请编制函数SortCharD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件OUT2.DA T中。