版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
國家二級C語言機試(程序填空題)模擬試卷2(共9套)(共45題)國家二級C語言機試(程序填空題)模擬試卷第1套一、程序填空題(本題共5題,每題1.0分,共5分。)1、給定程序中,函數fun的功能足建立一個N×N的矩陣。矩陣元素的構成規律是:最外層元素的值全部為1;從外向內第2層元素的值全部為2;第3層元素的值全部為3,……依此類推。例如,若N=5,生成的矩陣為:1111112221123211222111111請在程序的下畫線處填入正確的內容并把下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BI。ANK1.C中。不得增行或刪行,也不得更改程序的結構!試題程序:#iriolude<Stdio.h>#defitieN7/*********found*********/voidfun(int(*a)【1】)(inti,j,k,m;if(N%2==0)m=N/2;elsem=N/2+1;for(i=0;i<m;i++){/*********found*********/for(j=【2】;j<N—i;j++)a[i][j]=a[N—i一1][j=i+1;for(k=i+1;k<N—i;k++)/*********found*********/a[k][i]=a[k][N—i一1]=【3】;}}main(){intx[N][N]={0),i,j;fun(x);printf("\nTheresultis:\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%3d",x[i][j]);printf("\n");}}標準答案:(1)[N](2)i(3)i+1知識點解析:填空1:本題考查了形參的確定。參數傳遞時將實參的值賦給形參,實參和形參是一一對應的,因此該空應該填寫[N]。填空2:第二重for循環中a[i][j]和a[N-i-1][j]表示第一行和最后一行數組a[N][N]的值,因而此空應該填寫i。填空3:第三重for循環代表的是arN][N]中每一列的值,因此此空應該填寫i+1。2、給定程序中,函數fun的功能是:將a所指4×3矩陣中第k行的元素與第0行元素交換。例如,有下列矩陣:123456789101112若k為2,程序執行結果為:789456123101112請在程序的下畫線處填入正確的內容并把下畫線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!試題程序:#inClude<stdio.h>#defineN3#defineM4/*********found*********/voidfun(int(*a)[N],int【1】){inti,temp;/*********found*********/for(i=0;i<【2】;i++){temp=a[0][i];/*********found*********/a[0][i]=【3】;a[k][i]=temp;}}main(){intX[M][N]={{1,2,3},{4,5,6},{7,8,9),{10,11,12)},i,j;printf("Thearraybeforemoving:\n\n");for(i=0,i<M,i++){for(j=0,j<N;j++)printf("%3d",x[i][j]),printf("\n\n");}fun(x,2),printf("Thearrayaftermoving:\n\n");for(i=0;i<M,i++){for(j=0;j<N;j++)printf("%3d",x[i][j]);printf("\n\n");}}標準答案:(1)k(2)N(3)a[k][i]知識點解析:填空1:變量k在函數體fun中已經使用,但在函數體中沒有定義,肯定是在函數的形參中定義的,所以應填k。填空2:數組共N列,所以應填N。填空3:這部分語句實現的功能是變量值的交換,所以應填a[k][i]。3、給定程序中,函數fun的功能是將帶頭結點的單向鏈表逆置,即若原鏈表中從頭至尾結點數據域依次為2、4、6、8、10,逆置后,從頭至尾結點數據域依次為10、8、6、4、2。請在程序的下畫線處填入正確的內容并把下畫線刪除,使程序得出正確的結果。注意:部分源程序給出如下。不得增行或刪行,也不得更改程序的結構!試題程序:#include<stdio.h>#include<stdlib.h>#defineN5typedefstructnode{intdata;structnode*next;}NODE;voidfun(NODE*h){NODE*P,*q,*r;/*********found*********/P=h一>【1】;/*********found*********/if(p==【2】)return;q=p一>next;P一>next=NULL;while(q){r=q一>next;q一>next=p;/*********found*********/p=q;q=【3】;}h一>next=p;}NODE*creatlist(inta[]){NODE*h,*p,*q;inti;h=(NODE*)malloc(sizeof(NODE));h一>next=NULL;for(i=0;i<N;i++){q=(NODE*)malloc(s~zeof(NODE));q一>data=a[i];q一>next=NULL;if(h一>next==NULL)h一>next=p=q;else{p一>next=q;p=q;}}returnh;}voidoutlist(NODE*h){NODE*p;p=h一>next;if(p==NULL)printf("ThelistisNULL!\n");else{printf("\nHead");do{printf("一>%d",p一>data);p=p一>next;)while(p!=NULL);printf("一>End\n");}}main(){NODE*head;inta[N]={2,4,6,8,10);head=creatliSt(a);printf("\nTheoriginallist:\n");outlist(head);fun(head);printf("\nThelistafterin-verting:\n");outlist(head);}標準答案:(1)next(2)NULL(3)r知識點解析:填空1:本空考查了為p賦初值,根據題目的要求是將帶頭結點的單向鏈表逆置可知,p的初值應該為h一>next。填空2:if判斷語句表明當p等于什么時就要返回,因此只能當p等于NuLL時返回,不用做后面的鏈表的逆置了。填空3:把q的指針向后移動,才能實現將帶頭結點的單向鏈表逆置。因此本空填寫r。4、給定程序的主函數中,已給出由結構體構成的鏈表結點a、b、c,各結點的數據域中均存入字符,函數fun()的作用是:將a、b、c三個結點鏈接成一個單向鏈表,并輸出鏈表結點中的數據。請在程序的下畫線處填入正確的內容并把下畫線刪除,使程序得出正確的結果。注意:不得增行或刪行,也不得更改程序的結構!試題程序:#include<stdio.h>typedefstructlist{chardata;structlist*next;}Q;voidfun(Q*pa,Q*pb,Q*pc){Q*p;/******found******/pa—>next=___1___;pb—>next=pc:p=pa;while(P){/******found******/printf(″%c″,___2___);/******found******/p=___3___;}printf(″\n″);}main(){Qa,b,c;a.data=′E′:b.data=′F′;c.data=′G′:c.next=NULL;fun(&a,&b,&c);}標準答案:(1)pb(2)p—>data(3)p—>next知識點解析:填空1:將三個結點連接起來,即將pa的指針域指向pb,pb的指針域指向pc。填空2:輸出鏈表結點中的數據,表示為p—>data。填空3:指針后移,指向下一個結點,即p=p—>next。5、下列給定程序中,函數fun的功能是:從形參ss所指字符串數組中,刪除所有串長超過k的字符串,函數返回剩余字符串的個數。ss所指字符串數組中共有N個字符串,且串長小于M。請在程序的下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:部分源程序給出如下。不得增行或刪行,也不得更改程序的結構!試題程序:#include<stdio.h>#include<string.h>#defineN5#defineM10intfun(char(*ss)[M],intk)(inti,j=0,len;/*********found*********/for(i=0;i<【1】;i++){len=strlen(ss[i]);/*********found*********/if(fen<=【2】)/*********found*********/strcpy(ss[j++],【3】);}returnj;}voidmain(){charx[N][M]={"Beijing","Shanghai","Tianjin","Nanjing","Wuhan");inti,f;printf("\nTheoriginalstring\n\n");for(i=0;i<N;i++)puts(x[i]);printf("\n");f=fun(x,7);printf("ThestringwitchlengthislesSthanorequalto7:\n");for(i=0;i<f;i++)puts(x[i]);printf("\n");}標準答案:(1)N(2)k(3)ss[i]知識點解析:本題考查:for循環語句;if語句條件表達式;字符串復制函數strcpy的使用。填空1:for循環語句的作用是遍歷字符串數組中的每一個字符串,所以循環變量i的循環條件是i<N。填空2:題目要求刪除串長度大于k的字符串,所以if條件語句的條件表達式是len<=k。填空3:通過字符串復制函數將串長不大于k的字符串另存,并記錄個數。字符串復制函數strcpy,其格式為:strcpy(字符數組名1,字符數組名2)功能:把字符數組2中的字符串復制到字符數組l中。字符串結束標識‘\0’也一同復制。字符數組名2,也可以是一個字符串常量,這時相當于把一個字符串賦予一個字符數組。國家二級C語言機試(程序填空題)模擬試卷第2套一、程序填空題(本題共5題,每題1.0分,共5分。)1、甲乙丙丁四人同時開始放鞭炮,甲每隔t1秒放一次,乙每隔t2秒放一次,丙每隔t3秒放一次,丁每隔t4秒放一次,每人各放n次。函數fun的功能是根據形參提供的值,求出總共聽到多少次鞭炮聲作為函數值返回。注意,當幾個鞭炮同時炸響,只算一次響聲,第一次響聲是在第0秒。例如,若t1=7,t2=5,t3=6,t4=4,n=10,則總共可聽到28次鞭炮聲。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結構!#inolude/**********found**********/#defineOK(i,t,n)((___1___%t==0)&&(i/t標準答案:(1)i(2)t++(3)count知識點解析:第一空:由“if(OK(t,t1,n)‖OK(t,t2,n)‖OK(t,t3,n)‖OK(t:t4,n))count++;”可知count計數聽到的鞭炮聲,在滿足if條件時,計數加1。t時刻,至少有一個人放了一個鞭炮才能聽得到聲音,故t%t1==0、t%t2==0、t%t3=0、t%t4==0這四個當中至少一個成立,四者是或的關系。第一個標識下是宏OK的定義,由前面的分析可知,OK宏的作用就是判斷t%i(i等于1、2、3和4)是否等于0且i/t2、給定程序的主函數中,已給出由結構體構成的鏈表結點a、b、c,各結點的數據域中均存入字符,函數fun()的作用是:將a、b、c三個結點鏈接成一個單向鏈表,并輸出鏈表結點中的數據。請在程序的下畫線處填入正確的內容并把下畫線刪除,使程序得出正確的結果。注意:不得增行或刪行,也不得更改程序的結構!試題程序:#include<stdio.h>typedefstruerlist{chardata;struetlist*next;}Q;voidfun(Q*pa,Q*pb,Q*pc){Q*p;/******found******/pa->next=___1___;pb->next=pc;p=pa;while(p){/******found******/pfinff("%c",___2___);/******found******/p=___3___;}pfinff("\n");}main(){Qa,b,c;a.data=’E’;b.data=’F’;c.data=’G’;c.next=NULL;fun(&a,&b,&c);}標準答案:(1)pb(2)p->data(3)p->next知識點解析:填空1:將三個結點連接起來,即將pa的指針域指向pb,pb的指針域指向pc。填空2:輸出鏈表結點中的數據,表示為p->data。填空3:指針后移,指向下一個結點,即p=p->next。3、給定程序中,函數fun的功能是:計算下式前n項的和,并作為函數值返回。例如,當形參n的值為10時,函數返回一0.204491。請在程序的下畫線處填入正確的內容并把下畫線刪除,使程序得出正確的結果。注意:源程序給出如下。不得增行或刪行,也不得更改程序的結構!試題程序:#include<stdio.h>doublefun(intn){inti,k;doubles,t;s=0;/*********found*********/k=【1】;for(i=1;i<=n;i++){/*********found*********/t=【2】;s=s+k*(2*i一1)*(2*i+1)/(t*t);/*********found*********/k=k*【3】;}returns;}main(){intn=一1;while(n<0){printf("pleaseinput(n>0):");scar1f("%d",&n);)printf("\nTheresultis:%f\n",fun(n));}標準答案:(1)1(2)2*i(3)(一1)知識點解析:填空1:由fun函數整體結構可以看出k的作用是賦值,并累加各項前邊的正負號,由于第一項是正的,因此賦給k的值為1。填空2:此空下一行的表達式k*(2*1一1)*(2*1+1)/(t*t)累加的通項,k為正負號,由題目中的公式可知t=2*i。填空3:由于通項前邊的正負號每次都要發生變化,因此k=k*(一1)。4、給定程序中,函數fun的功能是:對形參ss所指字符串數組中的M個字符串按長度由短到長進行排序。SS所指字符串數組中共有M個字符串,且串長#include#defineM5#defineN20voidfun(char(*ss)[N]){inti,j,k,n[M];chart[N];for(i=0;in[j])___2___;if(k!=i){strcpy(t,ss[i]);strcpy(ss[i],ss[k]);/**********found**********/strcpy(ss[k],___3___);n[k]=n[i];}}}main(){charss[M][N]={"shanghai","guangzhou","beijing","tianjing","cchongqing");inti;printf("\nTheorignalstringsare:\n");for(i=0;i標準答案:(1)i+1(2)k=j<3)t知識點解析:函數fun的功能是用是選擇排序對M個字符串由短到長進行排序。第一空:由審題分析可知,外循環i=0時,內循環變量從i+1到M-1(下標從0開始),從M-1個字符串中再挑出一個最短的字符串,故第一空處應為“i+1”。第二空:k記錄最短字符串的下標,內循環開始前k賦初值i,內循環從剩下的M-i個字符串里面找最短的,比較k字符串和j字符串的長度大小,如果n[k]>n[j],則把j賦給k,即第二空處應為“k=j”。第三空:if(k!=i)說明找到了新的更短的字符串,那么把它和第i個字符串交換,因此第三空處應為“t”。5、函數fun的功能是:把形參a所指數組中的偶數按原順序依次存放到a[0],a[1]、a[2]、……中,把奇數從數組中刪除,偶數個數通過函數值返回。例如:若a所指數組中的數據最初排列為:9、1、4、2、3、6、5、8、7,刪除奇數后a所指數組中的數據為:4、2、6、8,返回值為4。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結構!#include#defineN9intfun(inta[],intn){inti,j;j=0;for(i=0;i標準答案:(1)a[i]%2(2)a[j](3)j知識點解析:奇數和偶數的判斷可用取余的方法來實現,a[i]%2等于0,那么a[i]是偶數,否則是奇數。函數fun的功能是把形參a所指數組中的偶數按原順序依次存放到a,把奇數從數組中刪除。第一空:由“____2____=a[i];j++;”是將偶數元素保存起來并且計數變量加1,可知j記錄了偶數元素的個數,第一空處是判斷a[i]是否是偶數,因此第一空處應為“a[i]%2”。第二空:a所指數組中的偶數按原順序依次存放到a[0]、a[1]、a[2]…,j初始化為0,a[j]就可以將偶數元素存放在a中,故第二空處應為“a[j]”。第三空:fun函數的返回值是偶數個數,故第三空處應為“j”。國家二級C語言機試(程序填空題)模擬試卷第3套一、程序填空題(本題共5題,每題1.0分,共5分。)1、使用VC++2010打開考生文件夾下blank1中的解決方案。此解決方案的項目中包含一個源程序文件blank1.c。在此程序中,函數fun的功能是:將形參s所指字符串中的所有字母字符順序前移,其他字符順序后移,處理后將新字符串的首地址作為函數值返回。例如,若s所指字符串為“asd123fgh543df”,處理后新字符串為“asdfghdf123543”。請在程序的下劃線處填入正確的內容并將下劃線刪除,使程序得出正確的結果。注意:部分源程序給出如下。不得增行或刪行,也不得更改程序的結構!試題程序:#include<stdio.h>#include<stdlib.h>#include<string.h>char*fun(char*s){inti,j,k,n;char*p,*t;n=strlen(s)+1;t=(char*)malloc(n*sizeof(char));p=(char*)malloc(n*sizeof(char));j=0;k=0;for(i=0;i<n;i++){if(((s[i]>=’a’)&&(s[i]<=’z’))||((s[i]>=’A’)&&(s[i]<=’Z’))){/*********found*********/t[j]=【1】;j++;}else{p[k]=s[i];k++;}}/*********found*********/for(i=0;i<【2】;i++)t[j+i]=p[i];/*********found*********/t[j+k]=【3】;returnt;}main(){chars[80];printf("Pleaseinput:");scanf("%s",s);printf("\nTheresultis:%s\n",fun(s));}標準答案:(1)s[i](2)k(3)’\0’或0知識點解析:填空1:將字符串s中所有字母元素賦給數組t。填空2:字符串中所有非字母元素放到字母元素后面,所以i的取值范圍是0~k。填空3:最后給字符串加入結束標識‘\0’。2、下列給定程序中,函數fun的功能是計算下式直到≤10-3,并將計算結果作為函數值返回。例如,若形參e的值為1e一3,函數的返回值為2.985678。請在程序的下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:部分源程序給出如下。不得增行或刪行,也不得更改程序的結構!試題程序:#include<Stdio.h>doublefun(doublee){inti;doubles,x;/*********found*********/s=0;i=【1】;x=1.0;while(x>e){/*********found*********/【2】;/*********found*********/x=(2.0*i一1)/((【3】)*(2.0*i));s=s+x;}returns;}main(){doublee=1e一3;printf("\nTheresultis:%f\n",fun(e));}標準答案:(1)0(2)i++或++i或i+=1或i=i+1(3)2.0*i知識點解析:填空1:循環變量i從1開始參加運算,但是在每次循環的開始i都進行自加1操作,故i應賦初值為0。填空2:循環變量i自增1運算。填空3:根據公式確定表達式通項。注意x為double型,故應將i變為double型再進行運算。3、函數fun的功能是:將形參a所指數組中的前半部分元素中的值和后半部分元素中的值對換。形參n中存放數組中數據的個數,若n為奇數,則中間的元素不動。例如:若a所指數組中的數據依次為:1、2、3、4、5、6、7、8、9,則調換后為:6、7、8、9、5、l、2、3、4。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結構!#include#defineN9voidfun(inta[l,intn){inti,t,p;/***********found***********/p=(n%2==0)?n/2:n/2+____1____;for(i=0;i標準答案:(1)1(2)i(3)a[p+i]知識點解析:函數fun的功能是將形參a所指數組中的前半部分元素中的值和后半部分元素中的值對換。第一空:“p=n%2=0)?n/2:n/2+____1____;”和“a[i]=a[p+____2____j:”“n%2==0”判斷是否是偶數,a[i]和a[p+____2____]交換,如果n是偶數,a[0]和a[n/2]交換,如果n是奇數,那么a[0]和a[n/2+1]交換,依此類推,故n為偶數時a[i]和a[i+n/2]交換,n為奇數時a[i]和a[i+n/2+1]交換。因此如果n是奇數的話,p應該等于n/2+1,故第一空處應為“1”。第二空:由上分析可知,a[i]和a[i+p]交換,故第二空應為“i”。第三空:“t=a[i];a[i]=a[p+i];”,故第三處應該是把a[i]賦值給a[p+i],a[i]保存在t中,故第三空應為“a[p+i]”。4、給定程序中,函數fun的功能是:統計中帶有頭結點的單向鏈表中結點的個數,存放在形參n所指的存儲單元中。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結構!#include#include#defineN8typedefstructlist{intdata;structlist*next;}SLIST;SLIST*creallist(int*a);voidoutlist(SLTST*);voidfun(SLIST*h,int*n){SLIST*p;/************found************/_____1_____=0;p=h->next;while(p){(*n)++;/**********found**********/p=p->_____2_____;}}main(){SLTST*head;inta[N]={12,87,45,32,91,16,20,48),num;head=creatlist:(a);out;1ist(head);/**********found**********/fun(_____3_____,&num);printf(”\nnumber=%d\n”,hum);}SLIST*crearlist(inta[I){SLIST*h,*p,*q;inti;h=p=(SLIST*)malloc(sizeof(SLIST));for(i=0;idata=a[i]jP->next=q;p=q;}p->next=0;returnh;}voidoutlist(SLIST*h){SLIST*p;p=h->next;if(p==NULL)printf("The1istisNULL!\n");else{printf("\nHead");do{printf("->%d",P->data);p=p->next;}while(P!=NULL);printf("->End\n");}}標準答案:(1)*n(2)next(3)head知識點解析:函數fun的功能是統計出帶有頭結點的單向鏈表中結點的個數。第一空:*n保存返回值鏈表長度,在開始計數之前,應該將*n清零,故第一空處應為“*n=0;”。第二空:*n在循環while(p)中計數,p不斷指向下一個結點,因此第二空處應該為“p=p->next;”。第三空:fun函數的聲明為:voidfun(SLIST*,int*n),第一個參數是頭結點地址,第二個參數要存放鏈表長度的整型變量地址,故第三空處應為“fun(head,&num);”。5、人員的記錄由編號和出生年、月、日組成,N名人員的數據已在主函數中存入結構體數組std中。函數fun的功能是:找出指定出生年份的人員,將其數據放在形參k所指的數組中,由主函數輸出,同時由函數值返回滿足指定條件的人數。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結構!#include#defineN8typedefstruct{intnum;intyear,month,day}STU;intfun(STU*std,STU*k,intyear){inti,n=0;if(____1____==year)return(____3____);}main(){STUstd[N]={{1,1984,2,15},{2,1983,9,21},{3,1984,9,1},{4,1983,7,15},{5,1985,9,28},{6,1982,11,15},{7,1982,6,22},{8,1984f8,19}};STUk[N];inti,n,year;printf("Enterayear:");scanfn=fun(std,k,year);printf("\nNopersonwasbornin%d\n",year);else{printf("\nThesepersonswerebornin%d\n",year);printf("%d%d—%d—%d\n",k[i].num,k[i].year,k[i].month,k[i].day);}}標準答案:(1)std[i].year(2)std[i](3)n知識點解析:fun函數的功能是在結構體數組std中找出指定出生年份的人員將其數據放在形參k所指的數組中。第一空:比較結構體的出生年份是否等于year,std是結構體指針,指向結構體數組的首地址,因此訪問一個結構體的year成員是“std[i].year”.因此第一空處應為“if(std[i].yeaI==year)”。第二空:這里是將找到的數據放在形參k所指的數組中,k是指針變量,k指向結構體數組的首地址,std[i]是結構體的地址,因此等號左邊也應該是地址,故第二空處應為“k[n++]=std[i];”。第三空:fun函數的返回值是滿足指定條件的人數n,故第三空處是“return(n),”。國家二級C語言機試(程序填空題)模擬試卷第4套一、程序填空題(本題共5題,每題1.0分,共5分。)1、下列給定程序中,函數fun的功能是:將N×N矩陣主對角線元素的值與反向對角線對應位置上元素的值進行交換。例如,若N=3,有下列矩陣:123456789交換后為:321456987請在下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:不得增行或刪行,也不得更改程序的結構!試題程序:#include<stdio.h>#defineN4/******found******/voidfun(int___1___,intn){inti,s;/******found******/for(___2___;i++){s=t[i][i];t[i][i]=t[i][n-i-1];/******found******/t[i][n-1-i]=___3___;}}main(){intt[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j;printf("\nTheoriginalarray:\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%d",t[i][j]);printf("\n");}fun(t,N);printf("\nTheresultis:\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%d",t[i][j]);printf("\n");}}標準答案:(1)t[][N](2)i=0;i<N(3)s知識點解析:本題考查:函數定義;for循環語句;數組元素的引用和賦值;變量值交換算法。填空1:根據main函數中的函數調用語句,可以填寫fun函數定義中的形參內容。填空2:由于是N×N矩陣,所以for語句中循環變量i的取值范圍是0到N。填空3:for循環體中是變量值交換算法。2、使用VC++2010打開考生文件夾下blank1中的解決方案。此解決方案的項目中包含一個源程序文件blank1.c。在此程序中,函數fun的功能是將a和b所指的兩個字符串分別轉換成面值相同的整數,并進行相加作為函數值返回,規定字符串中只含9個以下數字字符。例如,主函數中輸入字符串"32486"和"12345",在主函數中輸出的函數值為44831。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。注意:部分源程序在文件BLANK1.C中。不得增行或刪行,也不得更改程序的結構!試題程序:#include<stdio.h>#include<string.h>#include<ctype.h>#defineN9longctod(char*s){longd=0;while(*s)if(isdigit(*s)){/*********found*********/d=d*10+*s﹣【1】;/*********found*********/【2】;}returnd;}longfun(char*a,char*b){/*********found*********/return【3】;}main(){chars1[N],s2[N];do{printf("Inputstrings1:");gets(s1);}while(Strlen(s1)>N);do{printf("Inputstrings2:");gets(s2);}while(strlen(s2)>N);printf("Theresultis:%id\n",fun(s1,s2));}標準答案:(1)’0’(2)s++或++s(3)ctod(a)+ctod(b)知識點解析:填空1:isdigt(*s)這個函數表示檢查*s是否是數字(0~9),d=d*1010+*s﹣?表示的是要把字符串分別轉換成面值相同的整數,因此本空應該填寫’0’。填空2:*s所代表的字符串中字符需要一個一個的字符進行轉換成整數,因此此空應該填寫s++或++s。填空3:題目要求把轉換后的字符進行相加后作為函數的返回值,因此本空應該填寫ctod(a)+ctod(b)。3、給定程序中已建立一個帶有頭結點的單向鏈表,在main函數中將多次調用fun函數,每調用一次fun函數,輸出鏈表尾部結點中的數據,并釋放該結點,使鏈表縮短。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結構!1#include<stdio.h>2#include<Stdlib.h>3#defineN84typedefstructlist5{intdata;6struct1ist*next;7}SLIST;8voidfun(SLIST*p)9{SLIST*t,*e;10t=p->next;s=p;11while(t->next!=NULL)12{s=t;13/**********found**********/14t=t->___1___;15}16/**********found**********/17printf(’’%d’’,___2____);18s->next=NULL;19/**********found**********/20free(___3____);21}22SLIST*creatlist(int*a)23{SLIST*h,*p,*q;iti;24h=p=(SLIST*)malloc(sizeof(SLIST));25for(i=0;i<N;i++)26{q=(SLIST*)malloc(sizeof(SLIST));27q->data=a[i];p->next=q;p=q;28}29p->next=0;30returnh;31}32voidoutlist(SLIST*h)33{SLIST*p;34p=h->next;35if(p==NULL)printf(’’\nThelistisNULL!\n’’);36else37{printf(’’\nnead’’);38do{printf(’’->%d’’,p->data);p=p->next;}while(p!=NULL);39printf(’’->End\n’’);40}41}42main()43{SLIST*head;44inta[N]={11,12,15,18,19,22,25,29};45head=creatlist(a);46printf(’’\nOutputfromhead:\n’’);outlist(head);47printf(’’\nOutputfromtail:\n’’);48while(head->next!=NULL){49fun(head);50printf(’’\n\n’’);51printf(’’\nOutputfromheadagain:\n’’);outlistIhead);52}53}標準答案:(1)next(2)t->data(3)t知識點解析:fun函數的功能是輸出鏈表尾部結點中的數據,并釋放該結點,使鏈表縮短。由于鏈表是單向的,找到鏈表尾部結點需要利用循環從頭結點開始查找,直至找到最后一個,找到之后輸出尾部結點的數據,然后刪除尾結點。第一空:fun函數中的循環目的是找到尾結點“while(t->next!=NULL)”,利用結點變量s和t,s指向當前節點,t不斷指向下一個結點,因此,第一空處應該是“t=t->next;”。第二空:這里是輸出尾結點中的數據,已經利用循環找到了尾結點t,t的數據是t->data,因此,第二空處應該為“printf(’’%d’’,t->data),”。第三空輸出尾結點數據之后刪除尾結點,使用free,又因為尾結點是t,因此,第三空處應該為“flee(t);”。4、下列給定程序中,函數fun的功能是:將N×N矩陣中元素的值按列向右移動1個位置,右邊被移出矩陣的元素繞回左邊第1列。例如,N=3,有下列矩陣123456789計算結果為:312645978請在程序的下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:部分源程序給出如下。不得增行或刪行,也不得更改程序的結構!試題程序:#include<stdio.h>#defineN4voidfun(int(*t)[N]){inti,j,x;for(i=0;i<【1】;i++){x=t[i][【2】];for(j=N一1;j>0;j一一)t[i][j]=t[i][j一1];t[i][【3】]=x;}}main(){inti,j,t[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10};printf("Theorriginalarray:\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%2d",t[i][j]);printf("\n");}fun(t);printf("\nTheresultis:\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%2d",t[i][j]);printf("\n");}}標準答案:(1)N(2)N一1(3)0知識點解析:填空1:因為是N×N的矩陣,所以行列數是相同的。第一個for循環用來循環行,因此填入一個循環界限N。填空2:此語句將移出矩陣的元素暫存,移出矩陣的元素的列下標為N—1,因此填入N—1。填空3:此語句將移出矩陣的元素放入最左邊,也就是第一列,第一列元素的列下標為0,因此填入0。5、給定程序中,函數fun的功能是將帶頭結點的單向鏈表逆置。即若原鏈表中從頭至尾結點數據域依次為:2、4、6、8、10,逆置后,從頭至尾結點數據域依次為:10、8、6、4、2。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結構!#include#include#defineN5typedefstructnode{intdata;structnode*next;}NODE;voidfun(NODE*h){NODE*p,*q,*r;/**********found**********/P=h->【1】;/**********found**********/if(p==【2】__)return;q=p->next;p->next=NULL;while(q){r=q->next;q->next=p;/**********found**********/p=q;q=【3】;}h->next=p;}NODE*creatlist(inta[]){NODE*h,*p,*q;inti;h=(NODE*)malloc(sizeof(NODE));h->next=NULL;for(i=0;idata=a[i];q->next=NULL;if(h->next==NULL)h->next=p=q;else{p->next=q;p=q;}}returnh;}voidoutlist(NODE*h){NODE*p;p=h->next;if(p==NULL)printf("ThelistisNULL!\n");else{printf("\nHead");do{printf("->%d",p->data);p=p->next;}while(p!=NULL);printf("->End\n");}}main(){NODE*head;inta[N]={2,4,6,8,10};head=creatlist(a);printf("\nTheoriginallist:\n");outlist(head);fun(head);printf("\nThelistafterinverting:\n");outlist(head);}標準答案:(1)next(2)0或NULL(3)r知識點解析:函數fun的功能是將帶頭結點的單向鏈表逆置。第一空:“p=h->1;”對結點p進行初始化,由審題分析可知,p初始化為鏈表的第二個結點,即p->next,故第一空處應為“next”。第二空:“if(p==【2】)return;”如果鏈表只有一個結點,無需逆置,即第二空處為“0”或“\0”或“NULL”。第三空:循環內完成結點的指針指向前一個結點,“r=q一>next;”r已經指向q的下一個結點,“q->next=p;”將q結點指向鏈表的前一個結點,“p=q;”是將p結點往后移動一個結點位置,第三空處是q結點往后移動一個結點位置,即第三空處為“r”。國家二級C語言機試(程序填空題)模擬試卷第5套一、程序填空題(本題共5題,每題1.0分,共5分。)1、給定程序中,函數fun的功能是:有NxN矩陣,根據給定的m(m<=N)值,將每行元素中的值均右移m個位置,左邊置為0。例如,N=3,m=2,有下列矩陣123456789程序執行結果為001004007請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結構!#include#defineN4voidfun(int(*t)[N],intm){inti,j;/**********found**********/for(i=0;i=0;j==)/**********found**********/t[i][j+___2___]=t[i][j];/**********found**********/for(j=0;j<___3___;j++)t[i][j]=0;}}main(){intt[][N]={21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10},i,j,m;printf("\nTheoriginalarray:\n");for(i=0;i標準答案:(1)i++(2)m(3)m知識點解析:函數fun的功能是將每行元素中的值均右移m個位置。第一空:題目要求對每行元素中的值均右移m個位置,故第一空處循環變量每次增1,共循環N次,完成對N行的移位操作,因此第一空處應為“i++”。第二空:循環“for([j=N-1-m;j>=0;j--)”是進行行元素中的值右移m個位置,即把t[i][j]元素放置在t[i][j+m]上,因此第二空應為“m”。第三空:循環“for(j=0;j<__3__;j++)”是對空出來的位置補0,每行元素的前m位數據已經移動到后面,每行空處m個元素,因此第三空為“m”。2、使用VC++2010打開考生文件夾下blank1中的解決方案。此解決方案的項目中包含一個源程序文件blank1.c。在此程序中,函數fun的功能是:在帶頭節點的單向鏈表中,查找數據域中值為ch的節點。找到后通過函數值返回該節點在鏈表中所處的順序號;若不存在值為ch的節點,函數返回0值。請在程序的下劃線處填入正確的內容并將下劃線刪除,使程序得出正確的結果。注意:部分源程序給出如下。不得增行或刪行,也不得更改程序的結構!試題程序:#include<stdio.h>#include<stdlib.h>#defineN8typedefstructlist{intdata;structlist*next;}SLIST;SLIST*creatlist(char*);Vvoidoutlist(SLIST*);intfun(SLIST*h,charch){SLIST*p;intn=0;p=h﹣>next;/*********found*********/while(p!=【1】){n++;/*********found*********/if(p﹣>data==ch)reLurn【2】1;elsep=p﹣>next;}return0;}main(){SLIST*head;intk;charch;chara[N]={’m’,’p’,’g’,’a’,’w’,’x’,’r’,’d’};head=creatlist(a);outlist(head);printf("Enteraletter:");scanf("%c",&ch);/*********found*********/k=fun(【3】);if(k==0)printf("\nNotfound!\n");elseprintf("Thesequencenumberis:%d\n",k);}SLIST*creaLlist(char*a){SLIST*h,*p,*q;inti;h=p=(SLIST*)malloc(sizeof(SLIST));for(i=0;i<N;i++){q=(SLIST*)malloc(sizeof(SLIST));q﹣>data=a[i];p﹣>next=q;p=q;}p﹣>next=0;returnh;}voidoutlist(SLIST*h){SLIST*p;p=h﹣>next;if(p==NULL)printf("\nThelistisNULL!\n");else{printf("\nHead");do{printf("﹣>%c",Pp﹣>data);p=p﹣>nexL;}while(P!=NULL);printf("﹣>End\n");}}標準答案:(1)NULL(2)n(3)head,ch知識點解析:填空1:while循環語句用來判斷是否到達鏈表結尾,鏈表結尾節點指針域是NULL。填空2:若找到指定字符,則通過return語句將該節點在鏈表的順序號返回給main函數。填空3:函數調用語句,其形式是:函數名(實際參數表),因此根據函數定義語句,填入head,ch。3、給定程序中,函數fun的功能是:判斷形參s所指字符串是否是”回文”(Palindrome),若是,函數返回值為1;不是,函數返回值為0。”回文”是正讀和反讀都~樣的字符串(不區分大小寫字母)。例如,LEVEL和Level是“回文”,而LEVLEV不是。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結構!#include#include#includeintfun(char*s){char*lp,*rp;rp=s+strlen(s)—1;while((toupper(*lp)==toupperif(lp標準答案:(1)s(2)—N(3)return0知識點解析:函數fun的功能是:判斷形參s所指字符串是否是“回文”,即比較第一個字符和最后一個字符是否相同,第二個字符和倒數第二個字符是否相同,依此類推,可以用循環來實現。第一空:“rp=s+strlen(s)—1;”可知rp指向最后一個元素,因此lp是指向第一個元素,因此第一空應為“s”。第二空:“lpH;rp____2____;”lp往后移動,rp應該往前移動,故第二空處應為“——”。第三空:“if(lp4、程序通過定義學生結構體變量,存儲了學生的學號、姓名和3門課的成績。函數fun的功能是對形參b所指結構體變量中的數據進行修改,最后在主函數中輸出修改后的數據。例如:b所指變量t中的學號、姓名、和三門課的成績依次是:10002、"ZhangQi"、93、85、87,修改后輸出t中的數據應為:10004、"LiJie"、93、85、87。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結構!#include#includestructstudent{longsno;charname[10];floatscore[3];};voidfun(structstudent*b){/**********found**********/b【1】=10004;/**********found**********/strcpy(b【2】,"LiJie");}main(){structstudentt={10002,"ZhangQi",93,85,87};inti;printf("\n\nTheoriginaldata:\n");printf("\nNo:%ldName:%s\nScores:",t.sno,);for(i=0;i<3;i++)printf("%6.2f",t.score[i]);printf("\n");/**********found**********/fun(【3】);printf("\nThedataaftermodified:\n");printf("\nNo:%ldName:%s\nScores:",t.sno,);for(i=0;i<3;i++)printf("%6.2f",t.score[i]);printf("\n");}標準答案:(1)一>sno(2)一>name(3)&t知識點解析:函數fun的功能是對形參b所指結構體變量中的數據進行修改。第一空:“b【1】=10004;”等號右邊是整型值,故這里是修改結構體成員sno的值,b是結構體指針,訪問結構體數據成員時使用“->”運算符,因此,第一空為“b->sno”。第二空:“strcpy(b【2】,”LiJie”);”,strcpy是字符串拷貝函數,因此,這里是修改結構體的name成員值,故第二空處為“b一>name”。第三空:fun函數的定義形式是:voidfun(structstudent*b),可知fun的參數是指針,因此,主函數內調用fun函數時傳入的參數是結構體t的地址,故第三空處為“&t”。5、函數fun的功能是進行數字字符轉換。若形參ch中是數字字符’0’~’9’,則’0’轉換成’9’,’1’轉換成’8’,’2’轉換成’7’,……,’9’轉換成’0’;若是其他字符則保持不變;并將轉換后的結果作為函數值返回。請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結構!1#include<stdio.h>2/**********found**********/3__1___fun(charch)4{5/**********found**********/6if(ch>=’0’&&__2__)7/**********found**********/8return’9’-(oh-__3___);9returnch;10}11main()12{charc1,c2;13printf(’’\nTheresult:\n’’);14c1=’2’;c2=fun(c1);15printf(’’c1=%cc2=%c\n’’,c1,c2);16c1=’8’;c2=fun(c1);17printf(’’c1=%cc2=%c\n’’,c1,c2);18c1=’a’;c2=fun(c1);19printf(’’cl=%cc2=%c\n’’,c1,c2);20}標準答案:(1)char(2)ch<=’9’(3)’0’知識點解析:函數fun的功能是進行數字字符轉換。第一空:由主函數內fun函數的調用“c1=’2’;c2=fun(c1);”,而c1和c2是char變量,可知fun函數的返回值類型是char,故第一空處補充返回值類型應為“char”。第二空:數字字符是“’0’~’9’”,因此,數字字符必須“ch>=’0’”且“ch<=’9’”,故第二空處應為“ch<=’9’”。第三空:數字字符轉換規則是:“’0’”轉換成“’9’”,“’1’”,轉換成“’8’”,“’2’”轉換成“’7’,……,’9’”轉換成“’0’”,即返回值為“’9’-(ch-’0’)”,故第三空處應為“’0’”。國家二級C語言機試(程序填空題)模擬試卷第6套一、程序填空題(本題共5題,每題1.0分,共5分。)1、給定程序中,函數fun的功能是:計算形參x所指數組中N個數的平均值(規定所有數均為正數),將所指數組中小于平均值的數據移至數組的前部,大于等于平均值的數據移至x所指數組的后部,平均值作為函數值返回,在主函數中輸出平均值和移動后的數據。例如,有10個正數:4630324061745154826,平均值為:30.500000移動后的輸出為:3061715264632404548請在程序的下劃線處填入正確的內容并把下劃線刪除,使程序得出正確的結果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結構!#include#include#defineN10doublefun(double*x){inti,j;doubleav,y[N];av=0;/**********found**********/for(i=0;i標準答案:(1)x[i]/N(2)j++或j=j+1(3)i++或i=i+1知識點解析:第一空:“for(i=0;i2、函數fun的功能是:在有n個元素的結構體數組std中,查找有不及格科目的學生,找到后輸出學生的學號;函數的返回值是有不及格科目的學生人數。例如,主函數中給出了4名學生的數據,則程序運行的結果為:學號:N1002學號:N1006共有2位學生有不及格科目請在程序的下畫線處填入正確的內容,并把下畫線刪除,使程序得出正確的結果。注意:不得增行或刪行,也不得更改程序的結構!試題程序:#include<stdio.h>typedefstruct{charnum[8];doublescore[2];/******found******/}___1___;intfun(STUstd[],intn){inti,k=0;for(i=0;i<n;i++)/******found******/if(std[i].score[0]<60___2___std[i].score[1]<60){k++;pfinff("學號:%s",std[i].num);}/******found******/return___3___;}main(){STUstd[4]={"N1001",76.5,82.0,"N1002",53.5,73.0,"N1005",80.5,66.0,"N1006",81.0,56.0};pfinff("\n共有%d位學生有不及格科目\n"fun(std,4));}標準答案:(1)STU(2)||(3)k知識點解析:本題考查:對結構體的定義和使用,以及邏輯運算符的使用。填空1:STU結構體別名,通過main()中的語句可知。填空2:||只要學生兩門課成績有不及格的,就算不及格,因此使用或運算。填空3:k返回的是不及格的學生個數,有題意可知k是累計個數的。3、下列給定程序中,函數fun的功能是:在形參s所指字符串中尋找與參數c相同的字符,并在其后插入一個與之相同的字符,若找不到相同的字符則不做任何處理。例如,若s所指字符串為”baacda”,c中的字符為a,執行后s所指字符串為”baaaacdaa”。請在下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:不得增行或刪行,也不得更改程序的結構!試題程序:#include<stdio.h>voidfun(char*s,charc){inti,j,n;/******found******/for(i=0;s[i]=____1____;i++)if(s[i]==(c){/******found******/n=____2____;while(s[i+1+n]!=′\0′)n+;for(j=i+n+1;j>i;j——)s[j+1]=s[j];/******found******/s[j+1]=____3____;i=i+1;}}main(){chars[80]=″baacda″,c;printf(″\nThestring:%s\n″,s);printf(″\nInputacharacter:″);scanf(″%c″,&c);fun(s,c);printf(″\nTheresultis:%s\n″,s);}標準答案:(1)′\0′(2)0(3)c知識點解析:本題考查:字符串結束標識′\0′;變量賦初值操作;數組元素賦值。填空1:for語句循環條件是判斷是否到達字符串結尾,即當前字符是否為′\0′。填空2:while語句用于確定字符串的長度,所以變量n賦初值為0。填空3:題目要求如果找到與參數c相同的字符,就在后面插入一個相同的字符,所以找到后,應該給數組元素賦值,該題目給出參數為c。4、下列給定程序中,函數fun的功能是:在帶頭結點的單向鏈表中,查找數據域中值為ch的結點。找到后通過函數值返回該結點在鏈表中所處的順序號;若不存在值為ch的結點,函數返回0值。請在程序的下畫線處填入正確的內容并將下畫線刪除,使程序得出正確的結果。注意:部分源程序給出如下。不得增行或刪行,也不得更改程序的結構!試題程序:#include<stdio.h>#include<stdlib.h>#defineN8typedefstructlist{intdata;structlist*next;}SLIST;SLIST*creatliSt(char*);voidoutlist(SLIST*);intfun(SLIST*h,charch){SLIST*p;intn=0;p=h一>next;/*********found*********/while(p!=【1】){n++;/*********found*********/if(p一>data==ch)return【2】;elsep=p一>next;}return0;}main(){SLIST*head;intk;charch;chara[N]={’m’,’p’,’g’,’a’,’w’,’x’,’r’,’d’};head=creatlist(a);outlist(head);printf("Enteraletter:");Scanf("%c",&ch);/*********found*********/k=fun(【3】);if(k==0)printf("\nNotfound!\n");elSeprintf("Thesequencenumberis:%d\n",k);}SLIST*creatlist(char*a){SLIST*h,*p,*q;inti;h=P=(SLIST*)malloc(si。zeof(SLIST));for(i=0;i<N;i++){q=(SLIST*)malloc(sizeof(SLIST));q一>data=a[i];p一>next=q;p=q;}p一>next=0;returnh;}voidoutliSt(SLIST*h){SLIST*p;p=h一>next;if(p==NULL)printf("\nThelistisNULL!\n"),else{printf("\nHead");do{printf("一>%c",p一>data);p=p一>next;}while(p!=NULL);printf("一>End\n");}}標準答案:(1)NULL(2)n(3)head,ch知識點解析:填空1:while循環語句用來判斷是否到達鏈表結尾,鏈表結尾結點指針域是NULL。填空2:若找到指定字符,則通過return語句將該結點在鏈表的順序號返回給main函數。填空3:函數調用語句,其形式是:函數名(實際參數表),因此根據函數定義語句,填入head,ch。5、人員
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年高職(園林技術)園林植物造景設計試題及答案
- 2026年企業信息化建設生態化發展方案
- 2026年初中美術教師測試試卷沖刺押題
- 六年級下冊數學北師大含答案 圖形的認識 3
- 醫院科室月度工作總結(新)
- 清廉醫院工作總結報告
- 團課比賽題目及參考答案
- 消防模擬考試題目與答案解析
- 五年級下冊數學北師大含答案 分數乘法(一)1
- 《智慧農業產教融合 農業物聯網高技能人才培養規范》編制說明
- 合伙投資分紅合同模板
- 2024年成人高考專升本《數學》考試真題附答案
- GD-C3-51939 機房供配電系統檢驗批質量驗收記錄
- GB/T 6829-2024剩余電流動作保護電器的一般安全要求
- 初中數學因式分解練習題100題附詳解
- 電商倉庫商品出庫流程培訓課件
- 安徽-建標〔2017〕191號附件-2018工程量清單計價辦法
- 2024年人民網總網招聘筆試參考題庫含答案解析
- 第六章-古樹名木的養護管理課件
- cw3-2500m萬能式斷路器說明書
- 渝18M01 重慶市城市道路交通安全設施安裝與支撐結構設計標準圖集 DJBT 50-112
評論
0/150
提交評論