计算机三级网络技术上机试题100道南开100题目及答案考试题库

上传人:飞****9 文档编号:170900328 上传时间:2022-11-23 格式:DOCX 页数:129 大小:101.05KB
收藏 版权申诉 举报 下载
计算机三级网络技术上机试题100道南开100题目及答案考试题库_第1页
第1页 / 共129页
计算机三级网络技术上机试题100道南开100题目及答案考试题库_第2页
第2页 / 共129页
计算机三级网络技术上机试题100道南开100题目及答案考试题库_第3页
第3页 / 共129页
资源描述:

《计算机三级网络技术上机试题100道南开100题目及答案考试题库》由会员分享,可在线阅读,更多相关《计算机三级网络技术上机试题100道南开100题目及答案考试题库(129页珍藏版)》请在装配图网上搜索。

1、题目1:请编写函数num(int m,int k,intxx口),该函数的功能是:将大于整数m且紧靠m的k个素数存入数组xx传回。最后调用函数readwriteDAT(),Ain.dat文件中读取10组数据,分别得出结果,且把结果输出到文件out.dat中。例如:若输入175,则应输出:1923293137。void num(int m, int k, int xxQ)(int data = m+1;int half, n =0, i;while(1)(half = data/2;for (i=2; i half)(xxn= data;n+;if (n = k)break;data+;)题目2

2、:已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat。把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:如果四位数各位上的数字均是。或2或4或6或8,则统计出满足此条件的个数ent,并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat()把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。程序中已定义数组:a200, b200,已定义变量:ent void jsVal()(int bb4;int i, j, k, flag;for (i=0; i200; i+)(bb0= ai/1000;bb1= ai

3、%1000/100;bb2= ai%100/10;bb3= ai%10;for (j=0; j4; j+)flag =1;)else(flag =0;break;)if (flag =1)(bcnt= ai;cnt+;)for (i=0; icnt-1; i+)for (j=i+1; jcnt; j+)if (bi bUD(k = bi;bi=皿bj= k;)3题目:题目3:函数READ DAT ()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数STROR(),其函数功能是:以行为单位把字符串中的所有小写字母0左边的字符串内容移到该串的右边存放,然后并把小写字母0删

4、除,余下的字符串内容移到已处理字符串的左边存放.最后把已处理的字符串仍按行重新存入字符串数组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 buf80;for (i=0; i=0)j-;if(j0)continue;xxij=0;strc

5、py(buf,&xxij+1);k = j =0;while (xxij)(while (xxij!=o& xxij)j+;if (网皿)(strcat(buf,&xxik);break;)xxij=0;strcat(buf,&xxik);j+;k = j;)strcpy(xxi, buf);)4题目:题目4:函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中;请编制函数StrOL(),其函数的功能是:以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排,最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组 xx中。最后调用函数WriteDat(

6、)把结果xx输出到文件OUT.DAT中。例如:原文:You He MeI am a student.结果:Me He Youstudent a am Ivoid StrOL(void)int i, j, k, strl, I;for (i=0; imaxline; i+)for (j=0; j(int)strlen(xxi); j+)if (!isalpha(xxiO)& xxij!=)xxij=for (1=0; l=0)(for (j=k; j=0; j-)PPU+1= PPj;PP0= xxli;k+;i-;)strcat(ch, pp);strcpy(pp,k =0;if (i =0)

7、(for (j=k; j=0; j-)PPO+1= PPO;PPO= xxli;k+;I)strcat(ch, pp);strcpy(pp,k =0;if (i 0) break;)strcpy(xxl, ch);)题目5:在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数ReadDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行升序排列,然后取出满足此条件的前10个数依次存入数组bb 中,如果后三位的数值相等,则按原先的数值进行降序排列。最后调用函数WMteDat()把结果bb输出到文件out.d

8、at中。例:处理前60125099901270258088处理后90126012702580885099 void jsSort()int i, j, data;for (i=0; i199; i+)for (j=i+1; jaaj%1000)(data = aai;aai= aaj;aaj= data;)else if (aai%1000= aaj%1000)(if (aai aaj)(data = aai;aai= aaj;aaj= data;)for (i=0; i10; i+)bbi= aai;题目6:在文件in.dat中有200个正整数,且每个数均在1000至9999之间。函数Rea

9、dDat()读取这200个数存放到数组aa中。请编制函数jsSort(),其函数的功能是:要求按每个数的后三位的大小进行降序排列,然后取出满足此条件的前10个数依次存入数组bb 中,如果后三位的数值相等,则按原先的数值进行升序排列。最后调用函数WriteDat。把结果bb输出到文件out.dat中。例:处理前90125099601270258088处理后50998088702560129012void jsSort()int i, j, data;for (i=0; i199; i+)for (j=i+1; j200; j+)(if (aai%1000 aaU)data = aai;aai=

10、aaj;aaj= data;)for (i=0; i10; i+) bbi= aai;)题目7:已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长整型)五部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从大到小进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数 WriteDat()把结果输出到文件OUT1

11、0.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)xy = selli;selli= sellj;sellj= xy;)else if (strcmp(selli.dm, sellj.dm)=0)if (selli.je sellj.je)xy = selli;selli= sellj;sellj= xy;)题目8:函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到字符串数组XX中;请编制函数encryptCh

12、ar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组XX的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。替代关系:f(p尸p*11 mod 256(p是数组中某一个字符的ASCII 值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或大于130,则该字符不变,否则将Rp)所对应的字符进行替代。 void encryptChar()int i;char *pf;for (i=0; imaxline; i+)(pf = xxi;while (*pf !=0)(if (*pf*11%25632)*pf =*pf*11%2

13、56;pf+;)题目9:函数ReadDat()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数SortCharD(),其函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数WMteDat()把结果xx 输出到文件OUT.DAT中。例:原文:dAeBfC.CCbbAA结果:fedCBA.,bbCCAAvoid SortCharD(void)(int i, j, k, strl;char ch;for (i=0; imaxline; i+)(strl = strlen(xxi);for (j=0; jstrl-1

14、; j+)for (k=j+1; kstrl; k+) if (xx皿j xxik)ch = xxij;xxij= xxik;xxik= ch;)题目10:函数readdat()实现从文件IN.DAT中读取一片英文文章存入到字符串数组xx中请编写函数convertchara (),其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母乙则改写成字母a ,大写字母仍为大写字母,小写字母仍为小写字母,其它字符保持不变。把已处理的字符串仍按行重新存入字符串数组xx中。最后调用函数WriteDat()把结果xx 输出到文件OUT.DAT中。例:原文:Adb.Bcdzaa

15、bck.LLhj结果:Aec.Bdeabbcdl.LLikvoid ConvertCharA(void)int i, j, str;for (i=0; imaxline; i+)str = strlen(xxi);for (j=0; j=a& xxij=y)xxiO+=1;)题目11:下列程序的功能是:把s字符串中的所有字母改写成该字母的下一个字符,字母z改写成字母ao要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char *s)实现程序的要求,最后调用函数readwriteDat()M in.dat文件中读取50组数据,分别得出结果,把结果输出到文件ou

16、t.dat中。例如:s字符串中原有的内容为:Mn.123Zxy ,则调用该函数后,结果为 No.123Ayzovoid chg(char *s)while (*s)(if (*s=z|*s=,Z)*s -=25;else if (isalpha(*s)*s +=1;s+;题目12:已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDa

17、t(),其功能要求:按产品名称从小到大进行排列,若产品名称相同,则按金额从小到大进行排列.最终排列结果仍存入结构数组sell中,最后调用函数 WrWDat()把结果输出到文件OUT5.DAT中。void SortDat()int i, j;PRO xy;for (i=0; i99; i+)for (j=i+1; j0)else if (strcmp(selli.mc, sellj.mc)=0)if (selli.je sellj.je)xy = selli;selli= sellj;sellj= xy;)题目13:已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm

18、(字符型4位)产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT.DAT中。void SortDat()int i, j;PRO xy;for (i=0; i99; i+)for (j=i+1; j0)(xy = selli;selli= sel

19、lj;sellfj= xy;)else if (strcmp(selli.dm, sellj.dm)=0)(if (selli.je sellj.je)xy = selli;selli= sellj;sellj= xy;)题目14:已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该数连续大于该四位数以后的5个数且该数是奇数,则统计出满足此条件的个数ent,并把这些四位数按从小到大的顺序存入数组b中。并要计算满足上述条件的四位数的个数ent。最后main。函数调用写函数

20、wiiteDat()把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。void jsVal()int i, j, flag =0;int k;for (i=0; iMAX-5; i+)(for (j=i+l; j aj)flag =1;)elseflag =0;break;)if (flag=1& ai%2)bcnt= ai;cnt+;)for (i=0; icnt-1; i+)for (j=i+1; j bO)k = bi;bi= bj;bj= k;)题目15:已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函

21、数jsVal(),其功能是:若一个四位数的千位数字上的值小于等于百位数字上的值,百位数字上的值小于等于十位数字上的值,十位数字上的值小于等于个位数字上的值,并且此四位数是偶数,则统计出满足此条件的个数 ent,并把这些四位数按从大到小的顺序存入数组b中。最后main()函数调用写函数writeDat()把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。void jsVal()int i, j;int a1, a2, a3, a4, k;for (i=0; iMAX; i+)(a1=ai/1000;a2= ai%1000/100;a3= ai%100/10;a4= ai%10;

22、if (a1= a2)&(a2= a3)&(a3= a4)&(ai%2=0)(bcnt= ai;cnt+;)for (i=0; icnt-1; i+)for (j=i+1; j bO)(k = bi;bi= bj;bj= k;题目16:函数ReadDat。实现从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,请编制函数StrCharJR(),其函数的功能是:以行为单位把字符串中所有字符的ASCII值右移4位,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的字符仍存入原字符串对应的位置上。最后把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数writeDat

23、()把结果xx输出到文件 OUT8.DAT中。原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。void StrCharJR(void)int i, j, strl;for (i=0; imaxline; i+)(strl = strlen(xxi);for (j=0; jstrl; j+)xxij+= xxij4;)题目17:函数READDAT ()实现从文件IN.DAT中读取一篇英文文章存入到字符串数组XX中;请编制函数CHA(),其函数功能是:以行为单位把字符串中的第一个字符的ASCII值加第二个字符的 ASCII值,得到第一个亲朋字符,第二个字符的ASCII值加第

24、三个字符的ASCII值,得到第二个新字符,依此类推一直处理到最后第二个字符,最后一个字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的字符,得到的新字符分别存放在原字符串对应的位置上。最后把已处理的字符串逆转后按行重新存入字符串数组XX中,最后调用函数WRITEDAT。把结果XX输出到文件OUT9.DAT中.原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格.void ChA(void)(int i, j, k, str;char ch;for (i=0; imaxline; i+)(str = strlen(xxi);ch = xxi0;for (j=0;

25、jstr-1; j+)xxij+= xxi0+1;xxistr-1+= ch;for (j=0, k=str-1; jstr/2; j+, k-)ch = xxij;xxij= xxik;xxik= ch;)题目18:函数ReadDat()实现从文件ENG.IN中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件PS1O.DAT中。替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII 值,f(p)是计算后新字符

26、的ASCII值),如果原字符的ASCII值是偶数或计算后f(p)值小于等于32,则该字符不变,否则将Rp)所对应的字符进行替代。void encryptChar()int i;char *pf;for (i=0; i32)*pf = V*11%256;pf+;)题目19:编写一个函数findstr(),该函数统计一个长度为2的子字符串在另一个字符串中出现的次数。例如:假定输入的字符串为asd asasdfg asd as zx67 asd mklo,子字符串为as,函数返回值为6。函数readwriteDat。实现从文件in.dat中读取两个字符穿,并调用函数findstr(),最后把结果输出

27、到文件out.dat中。int findStr(char *str, char *substr)int n;char *p,*r;n =0;while (*str)(p = str;r = substr;while (*r)if (*r =*p)r+;P+;)elsebreak;)if (*r =0)n+;str+;)return n;)题目20:编写函数jsvalue ,它的功能是:求Fibonacci数列中大于t的最小的一个数,结果由函数返回。其中Fibonacci数列F(n)的定义为:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2)最后调用函数writeDat。读取10个数

28、据t ,分别得出结果且把结果输出到文件out.dat中。例如:当t=1000时,函数值为:1597。int jsValue(int t)(int f1=0, f2=1, fn;fn = f1+f2;while (fn = t)(f1= f2;f2= fn;fn = f1+f2;)return fn;题目21:下列程序的功能是:利用发下所示的简单迭代方法求方程:cos(x)-x=0的一个实根。X(n+1)下标=cos(x(n)下标)迭代步骤如下:(1)取X1初值为0.0;(2) X0=X1,把X1的值赋给X0;(3)X1=COS(XO),求出一个新的 X1;(4)若X0-X1绝对值小0.0000

29、01,执行步骤,否则执行步骤;(5)所求X1就是方程cos(X)-X=0的一个实根,作为函数值返回。请编写函数countvalue ()实现程序的要求,最后调用函数 WRITEDAT ()把结果输出到文件OUT17.DAT中。float countValue()(float XO, X1=0.0;while (1)(X0= X1;X1=(float)cos(XO);if (fabs(XO-XI)1e-6)break;)return X1;题目22:请编写函数countvalue(),它的功能是:求n以内(不包括n)同时能被3和7整数的所有自然数之和的平方根s ,并作为函数值返回,最后结果s输出

30、到文件out.dat中。例如若n为1000时,函数值应为:s=153.909064odouble countValue(int n)(double xy =0.0;int i;for (i=1; in; i+)if (i%3=0& i%7=0)xy += i;xy = sqrt(double)xy);return xy;题目23:已知在文件in.dat中存有N个(个数200)四位数字的正整数,函数readdat()读取这N个正整数并存入数组xx中。请编制函数calvalue(),其功能要求:1、求出这N个实数的平均值aver ;2、分别求出这N个实数的整数部分之和sumint以及小数部分之和

31、sumdec ,最后调用函数wiltedat。把所求的结果输出到文件out.dat 中。void CalValue(void)int i;double x,sum=0;for (i=0;iMAXNUM;i+)(if (xxi1e-6)break;sumint=sumint+(int)xxi;x=xxi-(int)xxi;sumdec=sumdec+x;sum=sum+xxi;)aver=sum/i;)题目24:在三位整数(100至999)中寻找符合条件的整数并依次从小到大存入数组中;它既是完全平方数,又是两位数字相同,例如144、676等。请编制函数实现此功能,满足该条件的整数的个数通过所编制

32、的函数返回。最后调用函数writeDat()把结果输出到文件 out.dat 中。jsValue(int bb)int i, a, b, c, ent =0;for (i=10; i*i1000; i+)(a = i*i/100;b = i*i/10%10;c = i*i%10;if (a=b | b=c | c=a) bbcnt+= i*i;)return ent;题目25:下列程序的功能是寻找并输出11至999之间的数m ,它满足m,m2和m3均为回文数。所谓回文数是指其各位数字左右对称的整数,例如121,676,94249等。满足上述条件的数如 m=11,m2=121,m3=1331皆为

33、回文数。请编制函数 int svalue(long m)实现此功能,如果是回文数,则函数返回1,反之则返回Oo最后把结果输出到文件out.dat中。int jsValue(long n)int i, strl, half;char xy20;ltoa(n, xy,10);strl = strlen(xy);half = strl/2;for (i=0; i= half)return 1;elsereturn 0;题目26:已知在文件in.dat中存有若干个(个数200)四位数字的正整数,函数readdat()读取这若干个正整数并存入数组xx中。请编制函数calvalue(),其功能要求:1、求

34、出这文件中共有多少个正整数totnum ;2、求这些数右移1位后,产生的新数是偶数的数的个数 totcnt ,以及满足此条件的这些数(右移前的值)的算术平均值totpjz ,最后调用函数writedat()把所求的结果输出到文件out.dat中。 void CalValue(void)int i, data;for (i=0; i0)totNum+;data = xxi1;if (data%2=0)(totCnt+;totPjz += xxi;totPjz /= totCnt;)题目27:已知数据文件IN.DAT中存有300个四位数,并已调用读函数ReadDat()把这些数存入数组a中,请编制

35、一函数jsvalue(),其功能是:求出千位数上的数减百位数减十位数上的数减个位数上的数大于零的个数ent ,再求出所有满足此条件的四位数依次存入数组b 中,然后对数组b的四位数按从小到大的顺序进行排序,最后调用写函数writedat(),把结果输出到out. Dat文件例如:9123,9-1-2-30,则该数满足条件存入数字b中,且个数cnt=cnt+1。9812,9-8-1-20,则该数不满足条件计忽略注意:部分源程序已给出。程序中已定义数组:a300,已定义变量:entvoid jsValue()int i, thou, hun, ten, data, j;for (i=0; i0)bc

36、nt= ai;cnt+;)for (i=0; icnt-1; i+)for (j=i+1; j bj)data = bi;bi= bO; bj= data;)题目28:已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat。把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd (新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab-

37、cd=0且 ab-cd=10且两个数均是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnto最后main。函数调用写函数 writeDat()把结果ent以及数组b中符合条件的四位数输出到 OUT.DAT文件中。void jsVal()int i, thou, hun, ten, data, j;int ab, cd;for (i=0; i=0&(ab-cd)=10& ab%2=1& cd%2=1)(bcnt= ai;cnt+;)for (i=0; icnt-1; i+)for (j=i+1; jcnt; j+)i

38、f (bi=10且 ab-cd=20且两个数均是偶数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnto最后main()函数调用写函数 writeDat()把结果ent以及数组b中符合条件的四位数输出到OUT.DAT文件中。void jsVal()(int i, thou, hun, ten, data, j;int ab, cd;for (i=0; i=10&(ab-cd)=20& ab%2=0& cd%2=0)(bcnt= ai;cnt+;)for (i=0; icnt-1; i+)for (j=i+1; jcnt

39、; j+)if (bi-)data = bi;bi= bj;bj= data;)题目30:已知数据文件IN.DAT中存有200个四位数,并已调用读函数readDat()把这些数存入数组a中,请考生编制一函数jsVal(),其功能是:依次从数组a中取出一个四位数,如果该数连续小于该四位数以后的5个数且该数是偶数,则统计出满足此条件的个数ent,并把这些四位数按从小到大的顺序存入数组b中。最后调用写函数 writeDat()把结果ent以及数组b中符合条件的四位数输出到 OUT.DAT文件中。a200,b200void jsVal()int i, j, flag =0;for (i=0; iMAX

40、-5; i+)for (j=i+l; j=j+5; j+)if (ai aO)flag =1;)else(flag =0;break;)if (flag=1& ai%2=0)(bcnt= ai;cnt+;)for (i=0; icnt-1; i+)for (j=i+1; j bUD(flag = bi;bi= bj;bj= flag;题目31:已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这

41、100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按金额从大到小进行排列,若金额相同,则按产品代码从大到小进行排列最终排列结果仍存入结构数组sell中最后调用函数WMteDatO 把结果输出到文件OUT6.DAT中。void SortDat()int i, j;PRO xy;for (i=0; i99; i+)for (j=i+1; j100; j+)if (selli.je sei皿.je)else if (selli.je = sellj.je)if (strcmp(selli.dm, sellj.dm)0)xy = selli;selli= sellj;

42、sellj= xy;)题目32:已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按金额从小到大进行排列.最终排列结果仍存入结构数组sell中,最后调用函数WMteDatO 把结果输出到文件OUT7.DAT中。void SortDat()int i, j;PRO xy

43、;for (i=0; iMAX-1; i+)for 0=i+1; jMAX; j+)if (strcmp(selli.mc, sellj.mc) sellj.je)xy = selli;selli= sellj;sellj= xy;)题目33:请补充完整函数ReadDat()实现从文件IN.DAT中读取1000个十进制整数到数组xx中;请编制函数Compute。分别计算出 xx中奇数的个数odd,偶数的个数even ,奇数的平均值ave1,偶数的平均值ave2以及所有偶数的方差totfc的值,最后调用函数 WrWDat()把结果输出到OUT.DAT文件中。计算方差的公式如下: totfc=1/

44、NX(xxi-ave2)2设N为偶数的个数,xxi为偶数,ave2为偶数的平均值。原始数据文件存放的格式是:每行存放10个数,并用逗号隔开。(每个数均大于0且小于等于2000)int ReadDat(void)FILE *fp;int i, j;if (fp = fopen(IN.DAT, Hr)= NULL) return 1;for (i=0; i100; i+)(for (j=0; j10; j+)fscanf(fp,%d,&xxi*10+j);fscanf(fp,n);if (feof(fp) break;)fclose(fp);return 0;)void Compute(void)

45、(int i, yyMAX;for (i=0; i1000; i+)if (xxi%2)(odd+;ave1+= xxi;)else(even+;ave2+= xxi;yyeven-1= xxi;)ave1/= odd;ave2/= even;for (i=0; ieven; i+)totfc +=(yyi-ave2)*(yyi-ave2)/even;题目34:下列程序的功能是:选取出100以上1000以内所有个位数字与十位数字之和被10除所得余数恰是百位数字的素数(如293b计算并输出上述这些素数的个数CNT以及这些素数值的和 SUMo请编写函数COUNTvalue ()实现程序要求,最后调

46、用函数 WRITEDAT ()把结果CNT和SUM输出到文件OUT.DAT中.void countValue()int i, j, half, hun, ten, data;for (i=101; i1000; i+)(hun = i/100;ten = i%100/10;data = i%10;if (hun =(ten+data)%10)(half = i/2;for (j=2; j= half)cnt+;sum += i;)题目35:某级数的前两项A1=1,A2=1,以后各项具有如下关系: An=An-2+2An-1.下列程序的功能是:依次对于整数M=100,1000和10000求出对应

47、的 n 值,使其满足:Sn=M ,这里 Sn=A1+A2+.+An ,并依次把n值存入数组单元b0,b1和b2中,请编制jsvalue()函数来实现此功能,最后调用函数writeDat()把数组叩中的值输出到 out.dat文件中。void jsValue()int A1=1, A2=1, n =1, An;int sumO, sum;sumO = A1+A2;while(1)(An = A1+A2*2;sum = sumO+An;A1= A2;A2= An;n+;if (sum0=100)b0= n;if (sum0=1000)b1= n;if (sum0=10000)(b2= n;brea

48、k;sumO = sum;)题目36:函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代后,仍存入数组XX的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件OUT.DAT 中。替代关系:f(p)=p*11 mod 256(p是数组中某一个字符的ASCII 值,f(p)是计算后新字符的ASCII值),如果计算后f(p)值小于等于32或f(p)对应的字符是数字0至9,则该字符不变,否则将f(p)所对应的字符进行替代。void encryptChar()int

49、i;char *pf;for (i=0; i=0&*pf*11%256=9)|*pf*11%256=32)pf+;continue;*pf=*pf*11%256;pf+;)题目37:函数ReadDat()实现从文件IN.DAT中读取一篇英文文章,存入到字符串数组xx中;请编制函数encryptChar(),按给定的替代关系对数组xx中的所有字符进行替代后,仍存入数组xx的对应的位置上,最后调用函数WriteDat()把结果xx输出到文件OUT.DAT中。替代关系:f(p尸p*11mod 256(p是数组中某一个字符的ASCII 值,f(p)是计算后新字符的ASCII值),如果原字符是大写字母或

50、计算后Rp)值小于等于32,则该字符不变,否则将f(p)所对应的字符进行替代。void encryptChar()(int i;char *pf;for (i=0; i=A&*pf=Z)|*pf*11%256=32)(pf+; continue;)*pf =*pf*11%256;pf+;)题目38:已知在文件IN.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)产品名称me(字符型10位),单价dj(整型),数量si(整型),金额je(长整型)四部分组成。其中:金额=单价*数量计算得出。函数ReadDat()是读取这100个销售记录并存入结构数组sell中。请编制

51、函数SortDat(),其功能要求:按产品代码从小到大进行排列,若产品代码相同,则按金额从小到大进行排列.最终排列结果仍存入结构数组sell中,最后调用函数WfiteDat()把结果输出到文件OUT.DAT中。void SortDat()int i, j;PRO xy;for (i=0; iMAX-1; i+)for (j=i+1; j0)else if (strcmp(selli.dm, sellj.dm)=0)if (selli.je sellj.je)xy = selli;selli= sellfj;sellj= xy;)题目39:,现有一个10个人100行的选票数据文件IN.DAT ,

52、其数据存放的格式是每条记录的长度均为10位,第一位表示第一个人的选中情况,第二位表示第二个人的选中情况,依此类推:内容均为字符。和1,1表示此人被选中,0表示此人未被选中,全选或不选均为无效的选票.。给定函数ReadDat()的功能是把选票数据读入到字符串数组xx中。请编制函数CountRs()来统计每个人的选票数并把得票数依次存入yy到yy9中。把结果yy输出到文件OUT.DAT 中。void CountRs(void)int i, j =0, k;char *str;for (i=0; i10; i+)yyi=0;for (i=0; i100; i+)(str = xxi;j =0;while (*str)(if (*str =1) j+;str+;)if (j

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!