问答题计算并填写下表。
问答题
问答题
问答题下图是校园网某台主机在命令行模式下执行某个命令时用sniffer捕获的数据包。请根据图中信息回答下列问题。(1)该主机上配置的IP地址网络号长度最多是______。(2)图中的①和②删除了部分显示信息,其中①处的信息应该是______,②处的信息应该是______。(3)该主机上配置的域名服务器的IP地址是______。(4)该主机上执行的命令是______。
问答题请根据下图所示网络结构回答下列问题。(1)填写路由器RG的路由表项【1】~【6】。(2)如果需要监听路由器RF和RG之间的所有流量,可以在该链路中串入一种设备,请写出这种设备的名称。(3)若要检测从Windows主机192.168.64.215到主机192.168.66.192数据包的传输路径,请写出应使用的命令名称,并依次写出数据包经过的路由器名称。(4)如果将192.168.66.128/25划分为三个子网,其中子网1能容纳50台主机,子网2和子网3分别能容纳20台主机,要求网络地址从小到大依次分配给三个子网,请写出前两个子网的掩码和可用的IP地址段。
问答题下列程序的功能是:选出5000以下符合条件的自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的10倍。计算并输出这些4位自然数的个数cnt及这些数的和sum。请编写函数countValue()实现程序的要求,最后调用函数wfiteDAT()把结果cnt和sum输出到文件OUT67.DAT中。 注意:部分源程序已给出。 请勿改动主函数main()和写函数writDAT()的内容。 试题程序: #include<stdio.h> int cnt,sum; void countValue() void main() cnt=sum=0; countValue (); printf ("满足条件的自然数的个数=%d/n", cnt); printf ("满足条件的自然的值的和=%d/n", sum); writeDAT (); writeDAT ( ) FILE *fp; fp=fopen ( "OUT67. DAT" , "w" ); fprintf (fp, "%d/n%d/n", cnt, sum); fclose fp);
问答题如表1所示,在某dhcp客户机上捕获了4条报文,并对第4条报文进行了解析,表2是在该客户机捕获上述报文后执行ipconfig/all命令后得到的部分信息。分析表中的报文和信息,并补全表中空白处的信息。
问答题下列程序的功能是:在3位整数(100至999)中寻找符合下面条件的整数,并依次从小到大存入数组b中:它既是完全平方数,又有两位数字相同,例如144,676等。 请编制函数int jsValue(int bb[])实现此功能,满足该条件的整数的个数通过所编制的函数返回。 最后调用函数wfiteDat()把结果输出到文件OUTl2.DAT中。 注意:部分源程序已给出。 请勿改动主函数main()和写函数wnteDat()的内容。 试题程序: #include<stdio.h> int jsValue(int bb[ ] main ( ) int b[20], num; num= jsValue(b); writeDat (num, b); writeDat(int num, int b[]) FILE *out; int i; out = fopen("OUT12.DAT", "w"); fprintf(out, "%d/n", num); for(i = 0; i <num; i++) fprintf(out, "%d/n", b[i]); fclose (out);
问答题如图所示,某园区网用2.5Gbps的POS技术与Internet相连,POS接口的帧格式是SONET。路由协议的选择方案是:园区网内部采用OSPF动态路由协议,园区网与Internet的连接使用静态路由。问题:请阅读以下R3和R4的部分配置信息,并补充【1】~【5】空白处的配置命令或参数,按题目要求完成路由器的配置。R3的POS接口、OSPF和缺省路由的配置信息Router-R3#configureterminalRouter-R3(config)#Router-R3(config)#interfacepos3/0Router-R3(config-it)#descriptionToInternetRouter-R3(config-if)#bandwidth2500000Router-R3(config-if)#ipaddress195.19.78.5255.255.255.252Router-R3(config-if)#【1】32Router-R3(config-if)#posframingsonetRouter-R3(config-if)#noipdirected-broadcastRouter-R3(config-if)#posflag【2】Router-R3(config-if)#noshutdownRouter-R3(config-if)#exitRouter-R3(config)#routerospf65Router-R3(config-router)#network222.98.66.128【3】area0Router-R3(config-router)#redistributeconnectedmetric-type1subnetsRouter-R3(config-router)#area0range222.98.66.128【4】Router-R3(config-router)#exitRouter-R3(config)#iproute0.0.0.0.0.0.0.0195.19.78.6Router-R3(config)#exitRouter-R3#R4的静态路由配置信息Router-R4#configureterminalRouter-R4(config)#iproute222.98.66.128【5】
问答题请根据下图所示网络结构回答下列问题。
问答题已知文件IN19.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量s1(整型)、金额je(长整型)几部分组成。其中:金额 =单价×数量。函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT19.DAT中。 注意:部分源程序已给出。 请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 试题程序: #include〈stdio.h> #include〈mem.h> #include〈string.h> #include〈conio.h> #include〈stdlib.h> #define MAX 100 typedef struct char dm[5]; /* 产品代码 */ char mc[11]; /* 产品名称 */ int dj; /* 单价 */ int sl; /* 数量 */ long je; /* 金额 */ PRO; PRO sell [MAX]; void ReadDat (); void WriteDat (); void SortDat() main ( ) memset(sell, 0, sizeof(sell)); ReadDat (); SortDat (); WriteDat (); void ReadDat () FILE *fp; char str[80], ch[ill; int i; fp = fopen("IN19.DAT", "r"); for(i=0; i〈100; i++) fgets(str, 80, fp); memcpy (sell [i] .dm, str, 4); memcpy(sell[i].mc, str+ 4, 10); memcpy(ch, str+ 14, 4); ch[4] = 0; sell[i] .dj = atoi(ch); memcpy(ch, str +18, 5); ch[5] = 0; sell[ii.si = atoi(ch); sell[i].je = (long) sell[i].dj * sell[i].sl; fclose (fp); void WriteDat() FILE *fp; int i; fp = fopen("OUT19.DAT", "w"); for(i = 0; i〈100; i++) fprintf(fp, "%s %s %4d %5d %101d/n", sell[i].dm, sell[i].mc, sell[i] .dj, sell[i].sl, sell[i].je); fclose (fp);
问答题函数ReadDat()的功能是实现从文件IN8.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrCharJP(),该函数的功能是:以行为单位把字符串中的所有字符的ASCII值右移4位,然后把右移后的字符的ASCII值再加上原字符的ASCII值,得到新的字符,并存入原字符串对应的位置上。最后把已处理的字符串按行重新存入字符串数组xx中,并调用函数WriteDat()把结果xx输出到文件OUT8.DAT中。 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 试题程序: #include<stdio.h> #include<string.h> #include<conio, h> char xx[50] [80]; int maxline = 0; /* 文章的总行数 */ int ReadDat (void); void WriteDat(void); void StrCharJR(void) main ( ) clrscr ( ; if (ReadDat ()) printf ("数据文件IN8.DAT不能打开! /n/007"); return; StrCharJR (); WriteDat (); int ReadDat (void) FILE *fp; int i= 0; char *p; if ((fp = fopen("IN8.DAT","r")) ==NULL) return 1; while(fgets (xx[i], 80, fp) !=NULL) p = strchr(xx[i], '/n'); if(p) *p = 0; i++; maxline = i; fclose (fp); return 0; void WriteDat(void) FILE *fp; int i; clrscr (); fp = fopen("OUT8.DAT", "w"); for(i = 0; i < maxline; i++) printf("%s/n", xx[i]); fprintf(fp, "%s/n", xx[i]); fclose (fp);
问答题已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。其中:金额=单价×数量。函数ReadDat()用于读取这100个销售记录并存入结构数组sell中。请编制SortDat(),其功能要求如下:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结构输出到文件OUT6.DAT中。 注意:部门源程序已给出。请勿改动主函数main()、读数据函数ReadDat()和输出数据函数WriteDat()的内容。 试题程序: #include<stdio.h> #include<string.h> #include<conio.h> #include<stdlib.h> #define MAX 100 typedef struct char dm[5];/*产品代码*/ char mc[11];/*产品名称*/ int dj;/*单价*/ int sl;/*数量*/ long je;/*金额*/ PRO; PRO sell[MAX]; void ReadDat(); void WriteDat(); void SortDat() void main() memset(sell,0,sizeof(selI)); ReadDat(); SortDat(); WriteDat(); void ReadDat() FILE*fp; char str[80],ch[11]; int i; fp=fopen("IN.DAT","r"); for(i=0;i<100;i++) fgets(str,80,fp); memcpy(sell[i].dm,str,4); memcpy(sell[i].mc,str+4,10); memcpy(ch,str+14,4);ch[4]=0; sell[i].dj=atoi(ch); memcpy(ch,str+18,5);ch[5]=0; sell[i].sl=atoi(ch); sell[i].je=(long)sell[i].dj*sell[i].sl; fclose(fp); void WriteDat(void) FILE*fp; int i; fp=fopen("OUT2.DAT","w"); for(i=0;i<100;i++) printf("%s%s%4d%5d%5d/n",sell[i].dm, sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je); fprintf(fp,"%S%S%4d%5d%5d/n",sell[i].dm,sell[i].mc,sell[i].dj,sell[i].sl,sell[i].je); } fclose(fp); }
问答题
问答题
问答题计算并填写序列号所在的空。
问答题计算并填写下表
问答题下列程序的功能是:已知学生的记录由学号和学习成绩构成,N名学生的数据已存入数组a中,找出成绩最高的学生的记录(假定最高成绩记录是唯一的),通过形参返回。请编写函数mmm(STU a[],STU*s)实现程序要求,最后调用函数reawriteDAT()把结果输出到文件out.dat中。 例如:KS01 87 KS09 67 KS11 97 则调用该函数后将输出: The lowest:KS09,67 注意:部分源程序已给出。 请勿改动主函数main()和函数readwriteDAT()的内容。 [试题源程序] #include<Stdio.h> #include<string.h> #include<conio.h> #defime N 10 void readwriteDat(); typedef struct ss char num[10];int s; STU; void mmm(STU a[],STU*s) msin() STU a[N]="A01",81,"A02",89),"A03",81),"A01",66),"A04",87),"A05",77),"A07",79),"A08",61),"A09",80,"A10",71,),m; int i; System("cls"); printf("***** The original data ***** /n"); for(i=0;i<N;i++) printf("No=%s Mark=%d/n",a[i].num,a[i].s); mmm(a, printf("***** THE RESULT*****/n"); printf("The highest:%s,%d/n",m.num,m.s); readwriteDat(); void readwriteDat() FILE *rf,*wf; STU a[N],m; int i; rf=fopen("in.dat","r"); wf=fopen("out.dat","w"); for(i=0;i<10;i++)fscanf(rf,"%s%d",a[i].num, mmm(a, fprintf(wf,"The lowest:%s,%d/n",m.num,m.s); fclose(rf); fclose(wf);
问答题函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到字符串数组XX中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx对应的位置上,最后调用函数WriteDat()把结果XX输出到文件OUT.DAT中。替代关系:f(p)=p*11 mod 256,mod为取余运算,P是数组XX中某一个字符的ASCⅡ值,f(p)是计算后的无符号整型值(注意:中间变量定义成整型变量),如果原字符的ASCⅡ值是偶数或计算后f(p)值小于等于32,则该字符不变,否则用f(p)替代所对应的字符。 注意:部分源程序存放在PROG1.C中,原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。请勿改动主函数main()、读函数ReadDat()和输出函数WriteDat()的内容。 [试题程序] #include #include #include unsigned char XX[50][80]; int maxline=0;/*文章的总行数*/ int ReadDat(void); void WriteDat(void); void encryptChar(); void main() if(ReadDat()) printf("数据文件IN.DAT不能打开!/n/007"); return; encryptChar(); WriteDat(); int ReadDat(void) FILE *fp; int i=0; unsigned char *p; if((fp=fopen(“in.dat”,“r”))==NULL) return 1; while(fgets(xx[i],80,fp)!=NULL)( P=strchr(xx[i],'/n'); if(p) *P=0; i++; maxline=i; fclose(fp); return 0; void WriteDat(void) FILE *fp; int i; fp=fopen(“out.dat”,“w”); for(i=0;i<maxline;i++) print("%s/n",xx[i]); fprintf(fp,"%s/n",xx[i]); fclose(fp);
问答题函数ReadDat()的功能是实现从文件IN73.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数CovertCharD(),该函数的功能是:以行为单位把字符串中的所有小写字母改成该字母的上一个字母,如果是字母a,则改成字母z。大写字母仍为大写字母,小写字母仍为小写字母,其他字符不变。把已处理的字符串仍按行重新存入字符串数组XX中,最后调用函数WriteDat()把结果XX输出到文件OUT73.DAT中。 例如:原文 Adb Bcdza abck LLHj 结果 Aca Bbcyz, Zabj LLgi 原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。 注意:部分源程序已给出。 请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。 试题程序: #include<stdio.h> #include<string.h> #include<conio.h> char xx[50][80]; int maxline=0; int ReadDat (void); void WriteDat (void); void CovertCharD() void main() clrscr(); if(ReadDat()) printf("数据文件IN7.DAT不能打开/n/007"); return; CovertCharD(); WriteDat(); int ReadDat() FILE *fp; int i=0; char *p; if ((fp=fopen("IN73.DAT", "r"))==NULL) return 1; while(fgets (xx[i], 80, fp)!=NULL) p=strchr(xx[i], '/n'); if(p) *p=0; i++; maxline=i; fclose(fp); return 0; void WriteDat (void) FILE;fp; int i: clrscr(); fp=fopen("OUT73.DAT", "N"); for(i=0; i<maxline; i++) printf("%s/n", xx[i]); fprintf(fp,”%s/n", xx[i]); fclose (fp);