下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
03年上海市高等学校计算机等级考试试卷二级(C程序设计)(本试卷答卷时间为120分钟)试题一(28分,每小题4分)解答下列各小题,把正确的解答写在答卷纸的对应栏内。(1)设有变量说明:inta=5,b=4,c=3,rl,r2;请写出执行下列语句后rl和r2的值。rl=a>b>c;r2=a>b&&b>c; rl=0r2=l试写出下列算式的C语言表达式。cPsin75x-log2ylexp(ln(a)/3)*sin(75,0/180*3.14)/fabs(x-ln(y)/ln(2))执行下列语句后,ij,k的值是多少?fbr(i=k=0j=6;i<j;i-H-j—)k+=4*i-5*j;i=3j=3k=-63执行下列程序后,b和c的值各为多少?#include<stdio.h>voidmain(){int*a[10],b,c;a[0]=&b;*a[0]=5;c=(*a[0])-H-;printf(u%d%d\n,\b,c);b=6 c=5设有如下程序:#include<stdio.h>voidmain(){intclock;floatf;charcpu[20];scanfi(t6%4d%f%s,,,&clock,&f,cpu);printf(tfc%d%.0f%s\n,,,clock,f,cpu);}假设输入数据流为200015.0P4isGOOD!,请写出执行该程序后的输出结果。下列程序的输出结果是什么?#include<stdio.h>main(){intcl=0,c2=0,c3=0,c4=0;char*p="12395632123378”;while(*p){switch(*p){case*1'cl-H-;break;case2c2++;case'3’c3++;break;default:C4-H-;pH;}printff'c1=%dc2=%dc3=%dc4=%d\nM,c1,c2,c3,c4);cl=2 c2=3 c3=7 c4=5~ 执行下列程序后,s的值为多少?#definesq(X)X*Xvoidmain(){ints=15,a=2,b=l;printf(fc4s=%d\n,,,s=sq(a+b)/sq(a+b));s=7试题二(12分,每小题6分)阅读下列程序,把程序的输出结果写在答卷纸的对应栏内。(1)【程序2.1】#defineN6voidmain(){intij,a[N];fbr(i=l;i<N;i++){a[i]=l;for(j=i-l;j>l;j-)for(j=l;j<=i;j++)printfT%4d”,a[j]);printf("\n”);
111121133114641(2)【程序2.2】#include<stdio.h>voidfun(char*s){while(*s){*s=(*s-'0'+3)%10+'0‘;-H-S;}}voidmain(){chara[尸'314762985”;inti;fiin(a+3);for(i=0;i<3;++i)printf(ti%c\n,,,a[3*i+l]);试题三(12分,每小题6分)改错。下列程序中都有三个错误,按原来程序的要求,纠正错误,并以“将#XX行改为YYYY”的形式进行解答,代码左边的“#01”、“#02”、…是附加的行号。(1)程序3.1功能是输入一个字符串,并将其中的字符3用字符串“shu”替代后输出。如输入为“123abcaHello”,则输出为“123shubcshuHello,,»【程序3.1】01#include<stdio.h>02 voidmain()03 {inti;charline[81];04 scanfT%s”,&line);05 for(i=0;line[i]!=,\n,;i++)06 if(line[i]="a')07 printf(“shu”);08 else#09 printf("%s”,line[i]);10 }459
ooo
###
第第第
将将将行改为
行改为
行改为scanf("%s”,line);459
ooo
###
第第第
将将将行改为
行改为
行改为for(i=0;line[i]!=>\0';i++)printf("%c”,line[i]);(2)程序3.2实现对输入的长度小于100的英文字母(空格表示结束)进行头尾相接,围成一个环,输出按顺时针方向出现的相邻两个递增字母及其个数(如下图中的HI,IJ,ST,总共出现3次)。【程序3.2]01#include<string.h>02voidmain()03 {chars[100];04 intk,len,no;05 scanfT%s”,s);06 len=strlen(s);07 s[len]=s[0];08 s[len-F+]=,\0,;09 for(k=0;k<len;k++)10 if(s[k-l]+l=s[k])11 {printfi(4€%c%c\n,,,s[k-1],s[k]);TOC\o"1-5"\h\z12 no++;13 }14 printfCt%d\n,,,no);15 }将第#04行改为:intk,len,no=0;将第#08行改为:s[++len]='\0';将第#09行改为:k=l;k<len;k++试题四(18分,每小题6分)按指定的要求编写C程序段,把解答写在答卷纸对应的栏内。不要求写完整的程序,也不必定义语句中出现的变量。求出任意一个数m(设4Wm<10000)的所有素因子。例如,37的素因子是37;420的素因子是2,2,3,5,7.
main(){inti=2,m;scanf("%d〃,&m);while(i<=m)if(!(m%i)){printf(〃%3d”,i);m/=i;)elsei++;printf(〃\n");设有一维数组说明charT[5],存放,A,,TV,'E,五个字母,请编写一个程序段,按以下格式输出结果。ABCDEBCDEACDEABDEABCEABCDSinclude<stdio.h>Sinclude<string.h>voidfun(chara[],intn){chark,j,b[20];for(k=0;k<n;k++)b[k+n]=b[k]=a[k];for(j=0;j<n;j++){for(k=j;k<j+n;k++)printf("%c〃,b[k]);printf('\n");})main(){chars[80],n;scanfs);n=strlen(s);fun(s,n);输入正偶数n,计算以下级数之和并输出结果(显示结果保留小数点后5位)1s=31s=34 16(此题找不到答案)试题五(15分,每空3分)阅读下列问题描述和相应的C程序,把应填入其中 (n)处的内容写在答卷纸的对应栏内。【问题描述】程序5不断地从键盘输入字符,直到输入EOF(Control+Z)为止。对于输入的小写字符,先转换为相应的大写字符,其它字符不变,然后逐个输出到文件texttxt中,行结束符回车('\nD也作为一个字符对待,最后统计文件中的字符个数和行数。【程序5】#includc<stdio.h>main(){FILE*fp;charc,str[256];inti=0,no=0,line=0;if((fp=fbpen(44text.txf\ ⑴))==NULL){printff'Can'topenthisfile.\nM);exit(O);}printf(uPleaseinputastring.\nM);while((c=getchar())!=EOF){if(c>=,a,&&c<=,z,) ⑵fputc((3) ,ip);}fclose(fp);if((fp=fbpenflext.txtVn)=NULL){printff'Can'topenthisfile.\nM);exit(O);)while(!feofi(fp)){c=(4);no-H-;if(⑸ )line++;printfi(44line=%dcharcter_no=%d\n,,,Iine,no);fclose(fp);(1)"w"(2)c二c-32或c=c-'a'+'A'(3)c(4)fgetc(fp)(5)c==,\n9试题六(15分,每空3分)阅读下列问题描述和相应的C程序,把应填入其中 (n)处的内容写在答卷纸的对应栏内。【问题描述】已知X和Y是两个整型数组,而且X中的数据按从小到大的顺序排列,Y中的数据按从大到小的顺序排列。程序6将X和Y中数归并,并按从小到大的顺序保存到整型数组Z中,然后输出数组Z中的各个元素。例如,X数组为{1,12,23,37},Y数组为{123,78,36,3},归并后生成的新数组Z为{1,3,12,23,36,37,78,123}.【程序6】voidsorted(intup[],intdown[],intmerged[],intn){inti=k=0;j=n-l;while(Qj)if(up[i]<=down[j]){⑵;i++;k++;}else{merged[k]=(3);j-;k++;}if(i==n&&j>=0)fbr(;j>=O;j)merged[k++]=(4) ;if(j=O&&i<n)fbr(;i<n;i-H-)merged[k++]=(5);}voidmain(){intup[]={1,12,23,37},down[]={123,78,36,3},merged[8],k;sorted(up,down,merged,4);fbr(k=0;k<8;k++)printfi[et%d,,smerged[k]);printfT'n”);(1)i<n&&j>=0(2)merged[k]=up[i](3)down[j](4)down[j]2004年上海市高等学校计算机等级考试试卷二级(C程序设计)(本试卷答卷时间为120分钟)试题一(28分),每小题4分)解答下列各小题,把正确的解答写在答卷纸的对应栏内。(1)假设对n(n>0)个学生按下列方法进行分班:每班k(k>0)个学生,最后一个班若不足k人也单独编成一个班,试用C语言中的条件表达式表示所编班级个数。n%k>0?n/k+l:n/k(2)设有变量定义:structrec{intx;inty;}s[]={{4,28},{9,36}},*p=s;99计算表达式(p->y/p->x*s[1].x+s[1].y)的值。(3)写出下列程序的输出结果。#include<stdio.h>voidmain(){chars[]=,,2473,,,c,i;for(i=0;c=s[i];i-H-){switch(c-'0'){putchar(c+4);continue;putchar(c+4);break;putchar(c+3);default:putchar(c+2);putchar('\n');6897(4)分别写出下列4个指针变量pl,p2,p3,p4的含义。int*pl,*p2[5],(*p3)(),(*p4)[5];pl是指向整型变量的指针变量p2是指针数组,它由5个指向整型变量的指针元素组成p3是函数指针,它所指向的函数返回一个整型值p4是数组指针,指向每行具有5个整型元素的二维数组的行指针(5)写出程序的输出结果(假定类型unsignedint的字长为16位)。#include<stdio.h>voidmain(){unsignedintul=0x958,u2,u3;u2=(ul&0xFF)«4;u3=(ul&0xFF00)»4;printf(u%x%x%x\n”,u2,u3,u2|u3));58090590(6)阅读如下程序段,把其中的switch语句改写成等价的条件语句。intx,y;scanf("%d”,&x);switch(x!=0){case0:y=0;break;case1:switch(x>0){case1:y=l;break;case0:y=-l;}y=x==0?0:(x>0?l:-l);(7)描述函数conv()的功能,并写出下列程序的输出结果。Voidconv(intm){if(m>=2)conv(m/2);printf("%d”,m%2);}voidmain(){conv(13);}使用递归将10进制整数m转换为对应二进制整数,结果为1101试题二(12分,每小题6分)阅读下列程序并回答问题,把答案写在答卷纸的对应栏内。(1)【程序2.1】#include<stdio.h>voidsort(inta[],intn){intfbr(i=O;i<n-l;i++)fbr(j=i+l;j<n;j-H-)if(a[i]>a[j])t=a[i],a[i]=a[j],a[j]=t;)intdelsame(intx[],intn){inti,j,m=n;fbr(i=0;i<m;i++){while(x[i]==x[i+l]){for(j=i;j<m;j++)x[j]=x[j+l];m-;returnm;}voidmain(){intx[]={74,4,35,4,65,65,72,74,35),i,m,n;n=sizeof(x)/sizeof(x[0]);sort(x,n);m=delsame(x,n);for(i=0;i<m;i++)printf(“%3d”,x[i]);printfT'iT);}(a)函数sort()的功能是什么?(b)函数delsame。的功能是什么?(c)程序的输出是什么?函数sort()的功能是对数组进行从小到大排序函数delsame。的功能是把数组中相同的元素删除到一个,删除后,数组剩下的元素个数作为函数的返回值程序的输出是:435657274(2)【程序2.2】#include<stdio.h>;#defineM4voidmain(){inti,j,k,m,a[4];printff'Enter4numbers:");fbr(i=O;i<M;i++)scanf("%d”,&a[i]);fbr(i=M;i>0;i-){k=a[M-l];for(j=M-l;j>O;j—)
aU]=aU-l];a[O]=k;fbr(m=O;m<M;m++)printf("%d”,a[m]);printf("\n'');}设一维数组a的4个输入整数是1,2,3,4,则程序的输出是什么?4123341223411234试题三(12分,每小题6分)改错。下列程序中都有三个错误,按原来程序的要求,纠正错误,并以“将#XX行改为YYYY”的形式进行解答,代码左边的"#01"、“#02",…是附加的行号。(1)程序3.1输入10个正整数,计算其中的素数之和并输出结果(不考虑溢出情况)。【程序3.1】01 //include<stdio.h>02 intsum(int*b,intm){03 ints=0,is_prime(long);04 while(m-)05if(is_prime(*b-H-))s+=*b;06 returns;07 }08 intis_prime(longm){09 intk;10 if(m<=l)return0;11 if(m==2||m==3)return1;12 fbr(k=2;k*k〈=m;k++)13 if(m%k==0)return0;14 elsereturn1;15 }16 voidmain(){17 intx[10],i;18 fbr(i=0;i<10; i-H-)scanf(“%d”,x++);19 printf(€€sum=%d\n,,,sum(x,10));#20 }将第#05行改为:S+=*(b-l)将第#14行改为:elseif(k*k>=m)return1;将第#18行改为:scanf("%dn,x+i);(2)程序3.2计算字符串s中最后一次出现子串t的地址,通过函数值返回,在主
函数中输出此地址开始的字符串:若未找到,函数返回NULL(例如字符串s为“456712345678abcd',当子串为"567”时,输出为“5678abcd":当t为"789”时,输出wNotfound!w)o【程序3.2】#01#include<stdio.h>#02char*fun(char*t){#03char*p,*r,*a;#04a=null;#05while(*s){#06p=s;r=t;#07while(*r)#08if(r==p){r++;p++;)#09elsebreak;#10if(*r==t\0,)a=s;#11s++;#12}#13returna;#14}#15voidmain(){#16chars[100],t[100],*p;#17printf^AnPleaseenterstrings:");scanf("%s”,s);#18printf("\nPleaseentersubstringt:M);scanf("%s”,t);#19p=fun(s,t);#20if(p)printf(6i\nTheresultis:%s\n”,p);#21elseprintff\nNotfound八n");#22}将第#02行改为:char*fun(char*s,char*t)将第#04行改为:a=0;(或a=NULL;)将第#08行改为:if(*r==*p){r++;p++;}试题四(18分,每小题9分)按指定的要求编写C程序段,把解答写在答卷纸的对应栏内,不要求写完整的程序,也不必定义语句中出现的变量。(1)4的值可以使用下公式计算请编写函数compute_pi(doubleeps)计算乃的近似值,当公式中某一项的值小于eps(例如,eps=le-5)时,停止计算并返回结果doublecompute_pi(doubleeps){intm=1;doubleterm=1.0,s=0.0;while(term>=eps){s+=term;term=term*m/(2*m+1);m++;}return(2*s);}(2)编写函数fun,它的功能是:对于输入字符串s,先将s中的字符逆序放到字符串t中(t的初始值为空串),再把字符串s正序连接到字符串t后面(例如,若s为"ABCDE”,则最后生成的字符串t为''EDCBAABCDE")。#include<stdio.h>#include<string.h>voidfun(chars[],chart[]){inti,slen;slen=strlen(s);for(i=0;i<slen;i++)t[i]=s[slen-i-1];for(i=0;i<slen;i++)t[slen+i]=s[i];t[slen*2]='\0';)main(){chars[100]="ABCDE”,t[100];fun(s,t);printfC'Therunresultis%s\n",t);试题五(15分,每空3分)阅读下列问题描述和相应的C程序,把应填入其中(n)处的内容写在答卷纸的对应栏内。【问题描述】输入任意一个三位数d(要求d不等于495且其百位、十位、个位不全相等否则重复输入),求出由此数年的百位、十位、个位三位数字组成的最大数max和最小数min(百位数可以为0),再求出新三位数max-min,即max和min的差(如结果小于100,则百位数视为0);只要该数不等于495,重复以上运算,则经过有限次计算后,必定得到495。在程序中,函数get_maxmin()计算由三位数的百位、十位、个位所组成的最大数和最小数。例如,对于输入792,有下列计算过程:972-279=693-963-369=594f954-459=495对于输入202,有下列计算过程:220-22=198f981-189=792f972-279=693 -* 963-459=594f954-459=495【程序5】#include<stdio.h>voidget_maxmin(inta,intb,intc,(1) )|intt;ifl(a<b)t=a,a=b,b=t;ifl(a<c)t=a,a=c,c=t;ifl(b<c)t=b,b=c,c=t;::voidmain()(inta,b,c,max,min,d;do{scanf("%d",&d);a=d/100;b=d%100/10;c=d%10;}whileC⑷ ):while(d!=495){getmaxmin((5) );d=max-min;a=d/100;b=d%100/10;c=d%10;)printfC'end_d=%d\n'',d);(1)int*max,int*min(2)*max=a*100+b*10+c(3)*min=c*100+b*10+a(4)d==495||a==b&&a==c(5)a,b,c,&max,&min试题六(15分,每空3分)阅读下列问题描述和相应的C程序,把应填入其中 (n) 处的内容写在答卷纸的对应栏内。【问题描述】给出两个链表,按交替的顺序轮流从这两个链表中取其成员归并成为一个新的链表,如其中一个链表的成员取完,另一个链表的多余成员依次接到新链表的尾部,并把指向新链表的指针作为函数值返回。例如,若两个链表成员分别是{1,2,3,8,10,15}和{7,13,1},则链接成的新链表是{1,7,2,13,3,1,8,10,15}。【程序6】#include<stdio.h>typedefstructnode(intdata;structnode*next;);structnode*createlink(structnode*list,intx)(structnode*u=list,*p;P=⑴ :(2) ;p->next=NULL;if(list=NULL)list=p;else{while(u->next!=NULL)u=u->next;u->next=p;}returnlist;)structnode*ShuffleMerge(structnode*a,structnode*b){structnodedummy;structnode*tail=&dummy;dummy.next=NULL;while( ⑶ ){if((4) ){tail->next=b;break;}elseif(b=NULL)tail->next=a;break;)else{/*轮流从两个链表中取其成员链接到新链表的尾部*/tail->next=a;tail=a;a=a->next;tail->next=b;tail=b;b=b->next;)retum((5) );)voidmain(){intx;structnodealist=NULL,blist=NULL,*list=NULL;do{scanf("%d”,&x);/*建立alist链表*/if(x<0)break;alist=createlink(alist,x);}while(x>0);do{scanf("%d”,&x);/*建立blist链表*/if(x<0)break;blist=createlink(blist,x);}while(x>0);list=ShuffleMerge(alist,blist);(1)p=(structnode*)malloc(sizeof(structnode))(2)p->data=x(3)1(4)a==NULL(5)dummy,next2005年上海市高等学校计算机等级考试试卷二级(C程序设计)(本试卷答卷时间为120分钟)试题一(28分,每小题4分)解答下列各小题,把解答写在答卷纸的对应栏内。(1)试写出下列命题的C语言表达式。当字符变量m取英文字母时表达式的值为真。m>='a'&&mv='z'||m>='A'&&mv='Z'执行下述语句后,a,b,m,n变量的值分别是什么?inta=l,b=2,c=3,d=4,m=5,n=6;a=(m=a>b)&&(n=c>d)|| ==b-;a=1,b=l,m=0,n=6(3)执行下列语句后的输出结果是什么?chars[81]=Ma_stringM,t[81];strcpy(t,s);printff%d;%d\n%s\n”,sizeofi(s),strlen(s),t+2);81;8string(4)写出下列C语句的功能。#include<string.h>dogets(s);while(strcmp(sJpasswcT));不断地从键盘输入字符串,直到输入passwd循环终止(或者:输入口令passwd)(5)执行下列程序后的输出结果是什么?#defineSQR(x)x*xvoidmain()(ints=8,a=2,b=3;s=SQR(a+b)*4;printfC:=%d\n”,s);}(5)s=20(6)设有定义structdate{intday;charmonth;intyear;}dd,*pd=ⅆ中写出引用结构变量dd的成员dd.day的其他两种描述形式。pd->day(*pd).day(7)设有如下程序段:inta[4]={0,4,5,13},*p;P=&a[2];printff++(*p尸%d\n",++(*p));printf("*-p=%d\n",*-p);printfT'*p++=%d\n",*p++);printf^%d\nn,a[O]);耳写出执行该程序段后的输出结果。++(*p)=6*-p=4*p++=40试题二(12分,每小题6分)阅读下列程序,把程序的输出结果写在答卷纸的对应栏内。(1)【程序2.1】#include<stdio.h>voidmain(){intk[]={65,30,3,123,831,54};intj,ml=32767,m2=0,nl,n2;fbr(j=0;j<6;j++)if(ml>k[j]){ml=k[j];nl=j;}elseif(m2<kD]){m2=k[j];n2=j;}printfV'ml=%d,nl=%d\n",ml,nl);printf(nm2=%d,n2=%d\n”,m2,n2);ml=3,nl=2m2=831,n2=4(2)【程序2.2】#include<stdio.h>voidfunc(int*x,inty){statick=3;y=*x+y;x=y%k;k++;printf(H*x=%d,y=%d\nH,*x,y);}voidmain()intx=12,y=5;fiinc(&x,y);printffx1=%d,y1=%d\nH,x,y);func(&y,x);printfi(Hx2=%d,y2=%d\nn,x,y);x=2,y=17xl=2,yl=5x=3,y=7x2=2,y2=3试题三(12分,每小题6分)下列程序中都有三个错误,按题中的计算要求,纠正错误,并以“将#XX”行改为“YYYY”的形式进行解答,把解答写在答卷纸的对应栏内。代码左边的#1、#2、…是附加的行号。(1)用冒泡排序法求出由21个整数组成的数组的中间值,并输出所有大于中间值的偶数。【程序3.1]0#include<stdio.h>1voidmain()2{3 intij,temp;4 intarray[21];5 for(i=0;i<21;i++)scanf("%dn,array[i]);6 for(i=0;i<21;i++)7 fbr(j=0j<20j+4-)8 if (array[j]>array[j+l])TOC\o"1-5"\h\z9 {10 temp=array[j];11 array[j]=array[j+l];12 array[j+l]=temp;13 }14 printf(n%dn,array[10]);15 for(i=0;i<10;i++)16 if(array[i]/2==0)printff%dH,array[i]);17 }将第5行中的array[i];改为&array[i];将第15行中的fbr(i=O;i<10;i++)改为for(i=11;i<21;i++)将第16行中的array[i]/2=0改为array[i]%2=0(2)用下面的方法可以计算y年m月d曰是星期几(w):w=[y-1+(y-l)/4-(y-l)/100+(y-1)/400+y_d(y,m,d)]%7其中,符号/表示计算整数商,%表示不算余数,y_d(y,m,d)表示y年m月d日是从同年元旦算起到该日的总天数。【程序3.2】1intday_tab[]={0,31,28,31,30,31,30,31,31,30,31,30,31};2inty_d(inty,intm,intd){3inti,all;4y=y%4==0&&y%100||y%400==0;5for(i=0;i<=m;i-H-)all+=day_tab[i];/*统计某月份(m月)之前的天数*/6 all+=y; /*对闰年考虑2月份是29天*/7 returnall+d;8 }9voidmain(){10 inty=2005,m=7,d=ll,w;11w=y-l+(y-l)/4-(y-l)/100+(y-1)/400+y_d(y,m,d);12 w%=7;13printfC%d年%d月%d日是星期%d\n”,y,m,d,w);14 }将第3行中的inti,all;改为inti,all=0;将第5行中的for(i=0;i<=m;i-H-)改为fbr(i=0;i<m;i++)将第6行中的all+=y改为all+=y*(m>2);或者改为if(m>=3)all+=y;或者改为all=m>=3?all+y:all;试题四(18分,每小题9分)按指定的要求编写程序段,把解答写在答卷纸的对应栏内。(1)输入无符号整型范围内的整数,求出它的位数以及各位数字之和。#include<stdio.h>voidmain(){unsignedintm,ws=0,p=0;scanfi[“%u",&m);do{ws-H-;p=p+(m%10);}while(m/=10);prints"%d\t%u\n",ws,p);(2)将长度为n的字符串s分成两个子串,前m(任意值)个字符生成子串S1,后n-m个字符生成子串S2。约定:当m2n时,S]等于原串,s?为空串;当mWO时,si为空串,S2等于原串。编写程序段时,可以使用库函数strcpy。voidsplit(chars[],charsl[],chars2[],intm)intn,ij;n=strlen(s);if(m>=n)|strcpy(sl,s);strcpy(s2;,n);)elseifi(m=0)(strcpy(s2,s);strcpy(sl,,H,);}else{fbr(i=O;i<m;i-H-)sl[i]=s[i];sl[i]='\0';for(j=0;s2[j]=s[i];i++j-H-);)/*或者{strq)y(sl,s);sl[m]=,\0,;strcpy(s2,s+m)}*/ } 试题五(15分,每个空格3分)阅读下列问题描述和相应的程序,把应填入其中(n)处的内容写在答卷纸的对应栏内。【问题描述】本程序运行时,从键盘不断接收用户输入的字符串并进行处理,直到用户输入的字符串
为“end”时终止。对用户输入的每个字符串的处理是:将字符串内的每一个十进制数字字符置换成下列表格中右边所对应的一个字符串(所有其他字符不变),然后将转换的结果显示在屏幕上;并分别计算每个数字的置换次数。十进制数字字符置换成0(Zero)1(One)2(Two)3(Three)4(Four)5(Five)6(Six)7(Seven)8(Eight)9(Nine)例如,若用户输入的字符串为Pagel12-Line3,则程序5的输出是:Page(One)(One)(Two)-Line(Three)数字0到9的置换次数分别是0211000000[程序5]#include<stdio.h>voidmain(){char*table[]={n(Zero)",n(One)H,"(Two)',,n(Three)M,"(Four)**,”(Five)”,“(Six)”,”(Seven)”,“(Eight)”,"(Nine)”};charstrl[64],str2[255],*p;intj,k,n»no[10];for(;;){printf(nInput:M);gets(⑴ );/*读入字符串*/for(k=0;k<10;k++)no[k]=0;ifi(strcmp(strl,nendn)=0)(2); /*输入end时程序运行终止*/for(j=k=0;strl[j]!=W;++j) /*对输入字符串进行扫描*/(if(⑶ )/*当前字符不是数字字符*/{str2[k++]=strl[j];continue;}/*当前字符是数字字符*/n=strl[j]-'O,;no[n]-H+;for(p=table[n];*p!=^;++p)str2[k++]= ⑷ ;/*把要置换的字符串逐个连接到str2上*/)str2[k]= (5) ; /♦置字符串结束符于str2末尾*/printf(o%s\nn,str2);for(k=0;k<10;k++)printfi(Hno[%d]=%d\tH,k,no[k]);(1)strl(2)break(3)strl[j]<tO,||strl[j]>*95(4)*p(5)NULL或者l\05试题六(15分,每个空格3分)阅读下列问题描述和相应的C程序,把应填入其中(n)处的内容写在答卷纸的对应栏内。【问题描述】建立一个带有头结点的单向链表,并将存储在字符串s中的字符依次转存到链表的各个结点中。然后,按相反顺序输出链表内容。【程序6】//include<stdlib.h>structnode{chardata;structnode*next;};(1)create_list(char*s){/*函数定义首部,确定函数值的返回类型*/structnode*head,*p,*q;head=(structnode*)malloc(sizeofi(structnode));p=q=head;while(*s!=r\0,){p=(structnode*)malloc(sizeof(structnode));p->data=(2) ;/*字符串中的字符存到链表中*/q->next=p;q=(3) ;/*工作指针q相应后移,为下一个字符转存作准备*/S++;}p->next=NULL;return⑷ :/*返回所建立的链表*/}voidpr_in_reverse_order(structnode*p)/*采用递归算法定义*/ifi(p!=NULL){pr_in_reverse_order(p->next); /*先按相反顺序输出除去第一个节点后的链表内容*/printfC'%2cH,(5) );/*输出第一个节点内容*/}}voidmain()(charstr[]="linklist',;structnode*head;head=create_list(str);pr_in_reverse_order(head->next);(1)structnode*(2)*s(3)P(4)head(5)p->data2007年上海市高等学校计算机等级考试试卷二级(C程序设计)(本试卷答卷时间120分钟)试题一(28分,每小题4分)解答下列各小题,把解答写在答卷纸的对应栏内。(1)设有intx=3,y=2,z=l;分别写出下列表达式求值后变量x和y的值。(注:对每小题求值时,变量的初值都为x=3,y=2,z=l)①y=(y=3,2*x-H-) x=4y=6②(x=5)||(y=6*x) x=5y=2(2)写出下列程序的输出结果。#include<stdio.h>voidmain(){intn;floatx=2.7181;n=100*x;x=(int)(x*100+0.5)/100.0;printf(Hn=%d\n\n);printf(Hx=%f\nH,x);n=271x=2.72(3)写出变量x的绝对值小于20为真的C语言表达式。xv20&&x>.20fabs(x)v20ab§(x)v20(4)描述学生信息的结构变量定义为:structstudent{intno; /* 学号*/char*name; /* 姓名*/charsex; /* 性别*/struct /*出至年月日*/{intyear;intmonth;intday;}birth;};structstudents; smame="LiDinw”;s.birth・vear=]985•写出能完成结构体变量s的部分成宽赋值:使姓名为“Li_ping”,出生年份为1985的C语句。(5)在C语言中,函数random(intnum)的功能是生成一个0到(numT)之间的随机整数,请写出下列两个赋值语句的功能。intm;floatx;m=50+random(50);x=m+random(100)/100.0;m的取值岔围:50—99m的取值范围:50.00—99.99(6)用文字描述以下程序所完成的功能:#include<stdio.h>voidmain(){FILE*in,*out;charch;in=fbpen("a.c”;T);out=fbpen(t4b.c,\,,wH);while(!feof(in))/♦函数feof()用来检测是否到达文件尾,如到达文件尾则返回非0,否则返回0 */{ch=fgetc(in);fputc(ch);}fclose(in);fclose(out);)完成文件a.c到文件b.c的复制(7)假定建立了以下链表结构,如下图所示:指针p、q分别指向如图所示的结点,写出将q所指结点从链表中删除并释放该结点的C语句datanext0・>11€'1=(1・>116日;(或("D)・next=(*q).next;)free(q);试题二(12分,每小题6分)阅读下列程序,把程序的输出结果写在答卷纸的对应栏内。(1)【程序2.1]写出程序的输出结果#include<stdio.h>voidmain(){intx=0,y=0,z;while(y<6)x+=++y;printfi[Houtputl:%d%d\n'\x,y);fbr(y=l;y<6;y4-+)x=y;printf("output2:%d%d\nu,x,y);for(y=l;y<6;){x=y++;z=++y;}printfi(Houtput3:%d%d%d\nH,x,y,z);(2)【程序2.2]写出程序的输出结果#include<stdio.h>intf(intb[],intn){inti,r;r=l;fbr(i=O;i<n;i-H-)r=r*b[i];returnr;)voidmain(){intx,a[]={1,2,345,6,7,8,9};x=f(a,3);printf("x=%d\n",x);x=f(a+l,3);printf("x=%d\n",x);x=24试题三■7区分,每小题6分)改错。下列每个程序中都有三个错误,按题中的功能要求,纠正错误,并以“将#XX”行改为“YYYY,,的形式进行解答,把解答写在答卷纸的对应栏内。代码左边的#01、#02 是附加的行号。【程序3.1】下面程序的功能是统计一字符串中各个字母出现的次数,该字符串从键盘输入,统计时不区分大小写。对数字、空格及其他字符都不予统计。最后在屏幕上显示统计结果。例加字符串:“abcdefgh23ABCDEFabc”的统计结果与输出格式为:abcdefghijklmnopqrstuvwxyz出现的次数为:;3332221100000000000000000001#include<stdio.h>02#include<string.h>03voidmain()04{05inti,a[26];06charch,str[80],*p=str;07gets(&str); /*获取字符串 gets(str);或gets(&str[0]);08for(i=0;i<26;i++) a[i]=0; /*初始化字符个数*/09while(*p){10 ch=(*D)++; /*移动指针统计不同字符出现的次数*/ *D++#11 ch=ch>='A'&&chv='Z'?ch+'a'・'A':ch;/*大小写字符转换*/#12 =chv='z') a[ch/a']++; ('a'v二ch)&&(chv='z')#13 }#14 for(i=0;i<26;i++)printff%2c”,H+i);/♦输出26个字母*/#15 printf,出现的次数为:\n");#16 for(i=0;i<26;i++)printfT%2d”,a[i]);/*输出各字母出现次数*/#17printf,\n");#18 }【程序3.2】以下程序求e=1+1/1!+1/2!+…+1/n!+…的值,直到最后一项的值小于等于IO4为止:请改错。1#include<stdio.h>2main()3{doublee,a; /*a为通项,e为和*/4inti=l;5 e=1.0;6 a=0.0; a=l.0;7 do{8 a*=i:9 e+=a;10 i=i+l;11 5while( av=le-6); a>=le・6/*要求计算到最后一项的值小于等于10"为止*/12 printV%f\n",e);13}试题四(18分,每小题9分)按指定的要求编写程序段,把解答写在答卷纸的对应栏内。(1)编写函数f(intn)用来统计正整数n的位数(例如,n=123时函数返回3)。参考答案:wsl(intn){intws=0;while(n){ws++;n/=10;1retum1或#indudevmath.h>w§2(intn)L-returnlowlO((dlublc)n)+l;"一或ws3(intn)Zj-return(n>=0)+(n>9)+(n>999)+(ii>9999);」(2)写出一个函数intlowejave(floats[],intn,float*aver),它能从存放学生分数的一维数组s中求出其平均分和低于平均分的学生人数;其中数组s□存放学生分数,参数n为学生人数,参数aver是指向平均分的指针变量。(要求平均分通过指针参数传递,人数通过函数值返回。)参考答案:#includevmath.h>intlowerave(floats[Lintn.float*aver){floatave,sum=0.0;intcount=0,k;For(k=0;kvn;k++)sum+=s1k];Ave二sum/n;for(k=0;kvn;k++)if(§[k]vave)coimt++;*ave二ave;returncount;1/*主调函数不要求*/main()(float§[30]=[80・5,60,72,90.5,98,51,5,88,64),aver;intm=8,I;printf("\nThenumberofstudents:%d\n"Jowerave(§,m.&aver));printf(“Ave=%八iT,aver);试题五(15分,每个空格3分)阅读下列问题描述和相应的程序,把应填入其中(n)处的内容写在答卷纸的对应栏内。【问题描述】以下程序输入10行字符串,要求按字典顺序从小到大排序。【程序5]#include<stdio.h>#defineN10intbiggerthan(char*strl,char*str2)/*若字符串strl大手str2时,则返回1*/{for(;*strl||*str2;(1) )strl++.str2++{if(*strl>*str2)return⑵ : \elseif(*strl<*str2)return0;)return0; /*两个字符串相等*/}voidmain(){charls[N][100];char*ps[N],*t;inti,j;for(i=0;i<N;i++){gets(ls[i]);ps[i]=ls[i];)fbr(i=0;i<N-l;i++) /* 冒泡法排序 */for(j=0;j<N-i-l;j++)if(biggerthanf(3) ))pslil.psli+l|{t=ps[j];(4» : ps[il=ps【i+l|(5) : ps[i+ll=t}for(i=0;i<N;i++)printf("%s\n",ps[i]);)试题六(15分,每个空格3分)阅读下列问题描述和相应的c程序,把应填入其中£J1L处的内容写在答卷纸的对应栏内。【问题描述】下列程序的功能是:计算机给出10个不大于31的正整数让人猜,并根据猜中的情况统计总得分后输出。具体规则如下:(1)计算机每给出一个要猜的数最多允许中5次,第一次猜对得10分,第二次猜对得8分,第三次猜对得6分,第四次猜对得4分,最后一次猜对得2分,否则不得分。(2)若人猜的数太小,计算机给出提示“to。small!”:若人猜的数太大,计算机给出提示“toolarge!”;若人猜对这个数,计算机给出提示“right!”,并给出下一个数继续让人猜;若一个数已经猜了5次都猜错,计算机给出提示“outoftime!”,也给出下一个数继续让人猜。直至猜完10个数。下面是人猜一个数的过程,有下划线的部分是人猜的数:(假设机器产生的随机数为9)请输入你猜测的数丫=渔toolarge!请输入你猜测的数y=4toosmall!请输入你猜测的数y=2right!(本题是第三次猜对,得6分)#include<stdio.h>#include<stdlib.h>voidmain(){inti,c,x,y,score,right;⑴ : /*变量赋初值*/score=0for(i=l;i<=10;i++){x=random(32);/*随机产生一个不大于31的要猜的数*/c=0;do{c++;printf(H\n请输入你猜测的数y=");scanf)[H%d,\&y);right=(y=x);/*猜对时right为1,否则为0*/if(right=l)elseprintfi(',%s\nM,( (3) )?"toosmall!M:ntoolarge!H);v<x}while(right==0&&(4j );c<6if(right)score+=( ⑸ ): /*统计成绩*/(6-c)*2else
printfif'outoftime!\nH);)printfif^XnTotalscore:%d\nH,score);2005年上海市高等学校计算机等级考试试卷二级(C程序设计)试题一(28分,每小题4分)解答下列各小题,把解答写在答卷纸的对应拦内.(1)试写出下列命题的C语言表达式.当字符变量m取英文字母时表达式的值为真.m>='a'&&m<='z'||m>='A'&&m<='Z'upper(m) upper(m)v='Z'(2)执行下述语句后,a,b,m,n变量的值分别是什么?Inta=1,b=2,c=3,m=5,n-6;c:*C:\PROGRA"1\C-FREE"1.5\te>p...|al;c:*C:\PROGRA"1\C-FREE"1.5\te>p...|al;bl;c3;n0;n6;d9999Pressanykeytocontinue.・・⑺ _I 2M#include<stdio.h>main(){inta=l,b=2,c=3,m=5,n=6,d=9999; /*d可以任意*/a=(m=a>b)&&(n=c>d)||-H-a=b—;printf(wa%d;b%d;c%d;m%d;n%d;d%d\na,b,c,m,n,d);}(3)执行下列语句后的输出结果是什么?Chars[81尸'a_astring”,t[81];strcpy(t,s);printfC4%d;%d\n%s\n,\sizeofifs).t+2);#include<stdio.h>main()chars[81]=Ha_astring,,,t[81];strcpy(t,s);printf(n%d;%d\n%s\nH,sizeof(s),sizeof(t),t+2);/*sizeofifs)是s数组总的长度*/(4)写出下列C语言的功能.#include<string.h>Dogets(s);While(strcmp(s,,,passwdv));#include<stdio.h>#include<string.h>main(){chars[100];/*输入一/*输入一串字符*//*当输入的串字符等于passwd循环结束*/while(strcmp(s,Hpasswdn));(5)执行下列程序后的输出结果是什么?#include<stdio.h>#include<string.h>#defineSQR(x)x*xmain(){ints=8,a=2,b=3;s=SQR(a+b)*4;printf(,'s=%d\n,,,s);
#include<stdio.h>include<st.ring.h>#defineSQR(x)x*xmain()(ints=8za=2zb=3;s=SQR(a)*4;print-f(rrs=^d\nrrrs);#include<stdio.h>#include<string.h>#defineSQR(x)x*x891011main(){ints=8/a=2/b=3;s=SQR(a+b)*4;printf("s=Wd'n”,s);}C'WC:\PROGRA~1\C-FREE~1.5Vte・…b=20jPKessanykeytocontinue.••(6)没有定义structdate!Intday;Char month;Int year}dd.*pd=ⅆ试写出引用结构变量dd的成员dd.day的其他两种描述形式.dd.day*pd.day(7)设有如下程序段:#include<stdio.h>main(){inta[4]={0,4,5,13},*p;p=&a[2]; /*p指向a[2]*/TOC\o"1-5"\h\zprintf(,,++(*p)=%d\nH,++(*p));/*即p指向a[2]a[2]=a[2]+l=5+1=6 */printf(H*-p=%d\nM,*-p); /*即p指向a[l]a[l]=4 */printfi(H*p++=5d\n,,,*p++); /*B|Jp指向a[l]a[l]=a[l]+l=4+1=5 ♦/printfi(H%d\nn,a[O]);
}试写出执行该程序段后的输出结果.试题二(12分,每小题6分)阅读下列程序,把程序的输出结果写在答卷纸的对应拦内.(1)[程序21]#include<stdio.h>voidmain(){intk[]={65,30,3,123,831,54);intj,ml=32767,m2=0,nl,n2;fbr(j=0;j<6;j-H-)if(ml>k[j]){ml=k[j];nl=j;}elseif(m2<k[j]){m2=k[j];n2=j;}printff'ml=%d,nl=%d\n",ml,nl);printf("m2=%d,n2=%d\nH,m2,n2);cC-C:\PROGRA~1\C-FREE~1.5\te>p\Untitled2.exe*口|x|ml=3,m2831Pressnl=2,n2=4anykeytocontinue...目2J#include<stdio.h>voidmain(){intk[]={65,30,3,123,831,54};intj,ml=32767,m2=0,nl,n2;for(j=0;j<6;j++)if(ml>k[j]){ml=k[j];nl=j;printf("ml=%d,nl=%d,j=%d,k[j]=%d\n",ml,nl,j,k[j]);/*增加输出语句查看循环过程的细节*/elseif(m2<k[j]){m2=k[j];
n2=j;printf("m2=%d,n2=%d,j=%d,k[j]=%d\n",m2,n2j,k[j]);/*增加输出语句查看循环过程的细节*/printfi["ml=%d,nl=%d\n",ml,nl);printff'm2=%d,n2=%d\n",m2,n2);(2)[程序2.2]#include<stdio.h>voidftinc(int*x,inty)(intstatick=3;y=*x+y;*x=y%k;k++;printfi("*x=%d,y=%d\n",*x,y);)voidmain()(intx=12,y=5;func(&x,y); /*x是传地址所以值会随函数的运算而变x是传值所以y不会随函数的运算而变 */printfCxl=%d,yl=%d\nM,x,y);printfi["x2=%d,y2=%d\nM,x,y);试题三(12分,每小题6分)下列程序中都有三个错误,按题中的计算要求,纠正错误,并以“将#XX“行改为“YYY”的形式进行解答,把解答写在答卷纸的对应拦内.代码左边的#1、#2、…是附加的行号。用冒泡排序法求出由21个整数组成的数组的中间值,并输出所有大于中间值的偶数。[程序3.1]1#include<stdio.h>2voidmain(){3 inti,j,temp;4 intarray[21];5 fbr(i=O;i<21; i++)scanff'%d”,array[i]);6fro(i=0;i<21;i-H-) ////fbr(i=0;i<20;i-H-)7 fbr(j=O;j<20;j-H-) ////fbr(j=0;j<20-l;j-H-)8 if(array[j]>array[j+l]);9 {10 temp=array[j];11 array[j]=array[j+l];12 array[j+l]=temp;13 }14 printR"%d”,array[10]); 数组的中间值在array[10]15fbr(i=O;i<10;i++)所有大于中间值的是array[11+0]array[ll+l]array[ll+9]16 if(array[i+10]/2=0)printfft%d,\array[i+10]);//////ifi(array[i+ll]%2=0)printfT%d”,array[i+11]);17}修改并调试:#include<stdio.h>voidmain(){inti,j,temp;intarray[21]={0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20);/*fbr(i=O;i<21;i-H-)scanf(M%dn,array[i]);为了调试的方便不输入,改为直接赋值*/fbr(i=O;i<20;i-H-)fbr(j=0;j<20-l;j++)if(array[j]>array[j+l]);temp=array[j];array[j]=array[j+l];array[j+l]=temp;printff%d array[10]);fbr(i=0;i<10;i++)if(array[ll+i]%2=0)printfC'%d”,array[11+i]);(2)用下面的方法可以计算y年m月d日是星期几(w):w=[y-1+(y-1)/4-(y-1)/100+(y-1)/400+y_d(y,m,d)]%7其中符号/表示计算整数商,%表示计算余数,y_d(y,m,d)表示y年m月d日是从同年元旦算起到该日的总天数.[程序3.2]1intday_tab[]={0,31,28,31,30,31,30,31,31,30,31,30,31};2inty_d(inty,intm,intd){3intI,all;4 y=y%4==0&&y%100||y%400=0;5for(i=0;i<m;i-H-)all4-=day_tab[i];/*统计某月份(m月)之前的天数*/6all+=y; /*对闰年考虑2月份是29天*/7returnall+d;8}9voidmain(){10inty=2005,m=7,d=ll,w;11 w=y-l4-(y-1)/4-(y-1)/400+y_d(y,m,d);12 w%=7;13printf(%d年%4月%d日是星期%d\n”,y,m,d,w);修改如下#include<stdio.h>/* w=[y-1+(y-1)/4-(y-1)/100+(y-1)/400+y_d(y,m,d)]%7 */intday_tab[]={0,31,28,31,30,31,30,31,31,30,31,30,31};inty_d(inty,intm,intd){inti,all;all=0; /♦改了*/y=((y%4=0&&y%100!=0)||y%400=0); /*改了*/fbr(i=O;i<m;i-H-)all+=day_tab[i];/*统计某月份(m月)之前的天数*/if(m>2)all+=y; /*对闰年考虑2月份是29天改了*/printf(H%d\nM,y);returnall+d;
voidmain(){改了*/inty=2008,m=10,d=10,w;改了*/w=y-1+(y-1)/4-(y-1)/100+(y-1)/400+y_d(y,m,d); /*w%=7;printf(u%d年%(1月%d日是星期%d\n”,y,m,d,w);试题四(18分,每小题9分)按指定的要求编写程序段,把解答写在答卷纸的对应拦内.(1)输入无符号整型范围内的整数,求出它的位数以及各位数字之和.调试成功#include<stdio.h>intws(unsignedn,int*all,int*s)|*s=0;*all;n=100;while(n){*s++;*all=*all+nmod10; n=n/10;}returnws}voidmain(){unsignedx;intsum,c;scanfi("%d\nn,x);ws(x,&sum,&c)printfi(n%d%d%d\n",x,c,sum);(2)将长度为n的字符串s分成两个子串,前m(任意值)个字符生成子串si,后n-m个字符生成子串s2.约定:当m2n时,si等于原串,s2为空串;当m《n时,si为空串,s2等于原串.编写程序段时,可以使用库函数strcpy.试题五(15分,每个空格3分)
阅读下列问题和相应程序.把应填入其中 (n) 处的内容写在答卷纸的对应拦内.[问题描述]本程序运行时,从键盘不断接收用户输入的字符串并进行处理,直到用户输入的字符串为“end”时终止.对用户输入的每个字符串的处理是:将字符串内的每一个十进制数字字符置换成下列表格中右边所对应的一个字符串(所有其他字符不变),然后将转换的结果显示在屏幕上:并分别计算每个数字的置换次数.十进制字符串置换成0(zero)1(one)2(two)3(three)4(four)5(five)6(six)7(seven)8(eight)9(nine)列如,若用户输入的字符串为Pagel12-Line3,则程序5的输出是:Page(one)(one)(two)-Line(three)数字0到9的置换次数分别是0211000000[程序5]#include<stdio.h>voidmain(){char *table口={“(zero)”,"(one)“J(two)”,"(three)”,"(fbur)”,”(five)”,"(six)”,"(seven)”,"(eight)”,"(nine)”};Charstrl[64],str2[255],*p;Intj,k,n,no[10];for(;;){printfTInput:");
gets(⑴ );/*读入字符串/* strlbreakfor(k=O;k<10;k++)no[k]=0;breakiRstrcmp(strlJend")==0) (2) :/*输入end时程序运行终止*/fbra=k=0;sti-l[j]!=5\0,;^j) /*对输入字符串进行扫描*/修改如下#include<stdio.h>#include<string.h>voidmain(){char*table[]={"(zero)",M(one),7'(two),',M(three),7,(four)n,“(five)”,“(six)”,“(seven)”,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47486-2026血管芯片通用技术要求
- 土方开挖工程检验批质量验收记录表
- 项目安全员绩效考核评分表
- 财务印鉴管理制度
- 胸腔闭式引流的健康教育
- (辅导班)2026年新高三数学暑假讲义(基础班)第13讲 数列求和(解析版)
- 2025-2026学年平凉市高考考前模拟语文试题含解析
- 【浙江省杭州市事业单位考试综合应用能力(中小学教师类D类)备考重点解析】
- 【2025】鄂州鄂城社区工作者招考笔试试题
- 【2026】超星尔雅学习通《论文写作初阶(北京大学)》章节测试及答案
- DB31/T 875-2015人身损害受伤人员休息期、营养期、护理期评定准则
- GB/T 37507-2025项目、项目群和项目组合管理项目管理指南
- 镇级国土空间总体规划编制技术指南(试行)
- 项目部组织架构及岗位职责
- FZT 61001-2019 纯毛、毛混纺毛毯
- (高清版)JTGT 3383-01-2020 公路通信及电力管道设计规范
- 智能船舶与海洋工程智慧船舶技术创新与应用探索
- 《如何上好自习》课件
- 《供应链管理》期末考试复习题库(含答案)
- 软件正版化工作信息统计表样表
- 4-肠结核及结核性腹膜炎
评论
0/150
提交评论