版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院蘇小紅
sxh@第9章函數(shù)的高級(jí)應(yīng)用
C語(yǔ)言大學(xué)實(shí)用教程1哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院第9章函數(shù)的高級(jí)應(yīng)用C語(yǔ)本章內(nèi)容遞歸與遞歸函數(shù)指向函數(shù)的指針?lè)祷刂羔樦档暮瘮?shù)本章內(nèi)容遞歸與遞歸函數(shù)遞歸問(wèn)題的提出“漢諾塔”(Hanoi)這是一個(gè)必須用遞歸方法才能解決的問(wèn)題n=64時(shí),18,446,744,073,709,551,615次1844億億次每次1微秒,需要60萬(wàn)年遞歸問(wèn)題的提出“漢諾塔”(Hanoi)遞歸問(wèn)題的提出
A→C,A→B,C→B,A→C,B→A,B→C,A→CABCn=3遞歸問(wèn)題的提出ABCn=3遞歸問(wèn)題的提出
A→C,A→B,C→B,A→C,B→A,B→C,A→CABC遞歸問(wèn)題的提出ABC遞歸問(wèn)題的提出
A→C,A→B,C→B,A→C,B→A,B→C,A→CABC遞歸問(wèn)題的提出ABC遞歸問(wèn)題的提出
A→C,A→B,C→B,A→C,B→A,B→C,A→CABC遞歸問(wèn)題的提出ABC遞歸問(wèn)題的提出
A→C,A→B,C→B,A→C,B→A,B→C,A→CABCn更大些怎么辦?遞歸問(wèn)題的提出ABCn更大些遞歸問(wèn)題的提出第一步:將問(wèn)題簡(jiǎn)化。假設(shè)A桿上只有2個(gè)圓盤(pán),即漢諾塔有2層,n=2。ABC遞歸問(wèn)題的提出第一步:將問(wèn)題簡(jiǎn)化。ABC遞歸問(wèn)題的提出對(duì)于一個(gè)有n(n>1)個(gè)圓盤(pán)的漢諾塔,將n個(gè)圓盤(pán)分為兩部分:上面的n-1個(gè)圓盤(pán)和最下面的n號(hào)圓盤(pán)。將“上面的n-1個(gè)圓盤(pán)”看成一個(gè)整體。將n-1個(gè)盤(pán)子從一根木樁移到另一根木樁上將1個(gè)盤(pán)子從一根木樁移到另一根木樁上ACB遞歸問(wèn)題的提出對(duì)于一個(gè)有n(n>1)個(gè)圓盤(pán)的漢諾塔,將n個(gè)遞歸問(wèn)題的提出將n個(gè)盤(pán)子從一根木樁移到另一根木樁上問(wèn)題分解為:將n-1個(gè)盤(pán)子從一根木樁上移到另一根木樁上將1個(gè)盤(pán)子從一根木樁移到另一根木樁上設(shè)計(jì)一個(gè)函數(shù),入口參數(shù)為n:將n個(gè)盤(pán)子從一根木樁移到另一根木樁上將n-1個(gè)盤(pán)子從一根木樁上移到另一根木樁上也要調(diào)用這個(gè)函數(shù)來(lái)實(shí)現(xiàn)出現(xiàn)了函數(shù)調(diào)用自己的問(wèn)題遞歸調(diào)用(RecursiveCall)遞歸問(wèn)題的提出將n個(gè)盤(pán)子從一根木樁移到另一根木樁上遞歸(Recursion)函數(shù)遞歸函數(shù)函數(shù)直接或間接調(diào)用自己直接調(diào)用方式:
intf(x)
{
inty,z;
….
z=f(x);
……
}遞歸(Recursion)函數(shù)遞歸函數(shù)例9.1求整數(shù)n的階乘n!計(jì)算n!=n*(n-1)*(n-2)*…*1迭代法用遞歸的方法例9.1求整數(shù)n的階乘n!計(jì)算n!=n*(n-1)*(例9.1求整數(shù)n的階乘n!#include<stdio.h>main(){ intn,i; longresult=1; printf("Inputn:"); scanf("%d",&n);
result=1; for(i=1;i<=n;i++) result*=i;
printf("%d!=%ld",n,result);}迭代法例9.1求整數(shù)n的階乘n!#include<stdio.hlongfact(longn)
{ longresult; if(n<0) return–1; elseif(n==0||n==1)/*遞歸終止條件*/
return1; else return(n*fact(n-1));/*遞歸調(diào)用*/}例9.1求整數(shù)n的階乘n!遞歸法longfact(longn) #include<stdio.h>longfact(longn); main(){ int n; longresult; printf("Inputn:"); scanf("%d",&n); result=fact(n); if(result==-1) printf("n<0,dataerror!\n"); else printf("%d!=%ld\n",n,result);}例9.1求整數(shù)n的階乘n!遞歸法#include<stdio.h>例9.1求整數(shù)n的階乘n遞歸調(diào)用過(guò)程執(zhí)行過(guò)程:
fact(5)=5*fact(4)=120 fact(4)=4*fact(3)=24
fact(3)=3*fact(2)=6fact(2)=2*fact(1)=2fact(1)=1
mainfact(5)fact(4)fact(3)fact(2)fact(1)遞歸調(diào)用過(guò)程執(zhí)行過(guò)程:mainfact(5)fact(4)f遞歸函數(shù)遞歸方法的基本原理將復(fù)雜問(wèn)題逐步化簡(jiǎn),最終轉(zhuǎn)化為一個(gè)最簡(jiǎn)單的問(wèn)題最簡(jiǎn)單問(wèn)題的解決,就意味著整個(gè)問(wèn)題的解決遞歸調(diào)用應(yīng)該能夠在有限次數(shù)內(nèi)終止遞歸遞歸調(diào)用如果不加以限制,將無(wú)數(shù)次的循環(huán)調(diào)用必須在函數(shù)內(nèi)部加控制語(yǔ)句,只有當(dāng)滿(mǎn)足一定條件時(shí),遞歸終止有時(shí)將其稱(chēng)為條件遞歸遞歸函數(shù)遞歸方法的基本原理遞歸函數(shù)任何一個(gè)遞歸調(diào)用程序必須包括兩部分遞歸循環(huán)繼續(xù)的過(guò)程遞歸調(diào)用結(jié)束的過(guò)程
if(遞歸終止條件成立)
return遞歸公式的初值;elsereturn遞歸函數(shù)調(diào)用返回的結(jié)果值;
遞歸函數(shù)任何一個(gè)遞歸調(diào)用程序必須包括兩部分遞歸函數(shù)思考:下面程序有什么問(wèn)題階乘函數(shù)的遞歸實(shí)現(xiàn)unsigned
long
Fac(unsigned
intn)
{
if(n<0) printf("dataerror!");
elseif(n==0||n==1)
return1;
else
returnn*Fac(n-1);
}編譯這個(gè)程序也會(huì)給出警告,提示“非所有控制分支都有返回值”。同時(shí),運(yùn)行程序后如果我們輸入了一個(gè)負(fù)數(shù),那么程序運(yùn)行結(jié)果為:Inputa:-1↙Inputdataerror!a!=11如果某個(gè)函數(shù)需要返回值的話(huà),那么一定要確保該函數(shù)中的所有控制分支都有返回值。
遞歸函數(shù)思考:下面程序有什么問(wèn)題如果某個(gè)函數(shù)需要返回值的話(huà),返回指針值的函數(shù)
數(shù)據(jù)類(lèi)型*函數(shù)名(參數(shù)表){……}例9.3:編一個(gè)函數(shù)連接兩個(gè)字符串,然后返回連接后字符串的首地址返回指針值的函數(shù)數(shù)據(jù)類(lèi)型*函數(shù)名(參數(shù)表)返回指針值的函數(shù)char*MyStrcat(char*dstStr,char*srcStr){ char*pStr=dstStr;
while(*dstStr!='\0') { dstStr++; }
for(;*srcStr!='\0';dstStr++,srcStr++) { *dstStr=*srcStr; } *dstStr='\0'; returnpStr;}返回指針值的函數(shù)char*MyStrcat(char*d返回指針值的函數(shù)#include<stdio.h>#defineARR_SIZE80char*MyStrcat(char*dstStr,char*srcStr);main(){ charfirst[ARR_SIZE]="Hello"; charsecond[ARR_SIZE]="world"; char*result=NULL;
result=MyStrcat(first,second); printf("\nTheresultis:%s\n",result);}這個(gè)字符數(shù)組應(yīng)該保證足夠大返回指針值的函數(shù)#include<stdio.h>這個(gè)字符數(shù)函數(shù)指針(FunctionPointers)編譯器將不帶()的函數(shù)名解釋為該程序的入口地址換句話(huà)說(shuō),函數(shù)名是指向程序入口的指針數(shù)據(jù)類(lèi)型(*指針名)();例如:int(*p)();幾個(gè)容易犯的錯(cuò)誤:忘記了前一個(gè)(),寫(xiě)成int*p();聲明一個(gè)返回值是整型指針的函數(shù),函數(shù)名為p忘掉了后一個(gè)(),寫(xiě)成int(*p);定義了一個(gè)整型指針定義時(shí)后一個(gè)括號(hào)內(nèi)參數(shù)類(lèi)型與指向的函數(shù)不匹配函數(shù)指針(FunctionPointers)編譯器將不函數(shù)指針求下列函數(shù)的定積分函數(shù)指針求下列函數(shù)的定積分函數(shù)指針不用函數(shù)指針的編程方法floatIntegralFun1(floata,floatb){ floats,h,y; intn,i;
s=((1.0+a*a)+(1.0+b*b))/2.0; n=100; h=(b-a)/n;
for(i=0;i<n;i++) { y=a+i*h;
s+=1.0+y*y;
} returns*h;}函數(shù)指針不用函數(shù)指針的編程方法函數(shù)指針不用函數(shù)指針的編程方法floatIntegralFun2(floata,floatb){ floats,h,y; intn,i;
s=(a/(1.0+a*a)+b/(1.0+b*b))/2.0; n=100; h=(b-a)/n;
for(i=0;i<n;i++) { y=a+i*h;
s+=y/(1.0+y*y);
} returns*h;}函數(shù)指針不用函數(shù)指針的編程方法函數(shù)指針使用函數(shù)指針的編程方法floatIntegral(float(*f)(float),floata,floatb){ floats,h,y; intn,i;
s=((*f)(a)+(*f)(b))/2.0; n=100; h=(b-a)/n; for(i=0;i<n;i++) { y=a+i*h;
s+=(*f)(y); } returns*h;}y1=Integral(Fun2,0.0,3.0);y2=Integral(Fun1,0.0,1.0);
floatFun1(floatx){return1+x*x;}
floatFun2(floatx){returnx/(1+x*x)
;}
函數(shù)指針使用函數(shù)指針的編程方法y1=Integral(F函數(shù)指針應(yīng)用編寫(xiě)通用性更強(qiáng)的函數(shù)典型實(shí)例計(jì)算函數(shù)的定積分另一個(gè)典型實(shí)例既能按照升序排序,又能按降序排序見(jiàn)《C語(yǔ)言大學(xué)實(shí)用教程學(xué)習(xí)指導(dǎo)》P385-395函數(shù)指針應(yīng)用函數(shù)指針voidSort(inta[],intn,int(*compare)(inta,intb)){…… if((*compare)(a[i],max)…….}/*決定數(shù)據(jù)是否按升序排序,a<b為真,則按升序排序*/intAscending(inta,intb){ returna<b;}/*決定數(shù)據(jù)是否按降序排序,a>b為真,則按降序排序*/intDescending(inta,intb){ returna>b;}函數(shù)指針voidSort(inta[],intn,函數(shù)指針其他應(yīng)用函數(shù)指針通常用在菜單驅(qū)動(dòng)的系統(tǒng)中系統(tǒng)提示用戶(hù)從菜單中選擇一種操作(可能是1~6)對(duì)應(yīng)于用戶(hù)選擇的不同操作是由不同的函數(shù)來(lái)完成的先將指向每個(gè)函數(shù)的指針存儲(chǔ)在一個(gè)指針數(shù)組中調(diào)用函數(shù)完成相應(yīng)操作時(shí)將用戶(hù)輸入的選擇,作為該指針數(shù)組的下標(biāo)利用存儲(chǔ)于相應(yīng)數(shù)組元素中的函數(shù)指針,調(diào)用相應(yīng)的函數(shù)見(jiàn)《C語(yǔ)言大學(xué)實(shí)用教程學(xué)習(xí)指導(dǎo)》函數(shù)指針其他應(yīng)用見(jiàn)《C語(yǔ)言大學(xué)實(shí)用教程學(xué)習(xí)指導(dǎo)》作業(yè)P374~3769.1~9.3作業(yè)P374~376哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院蘇小紅
sxh@第9章函數(shù)的高級(jí)應(yīng)用
C語(yǔ)言大學(xué)實(shí)用教程33哈爾濱工業(yè)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院第9章函數(shù)的高級(jí)應(yīng)用C語(yǔ)本章內(nèi)容遞歸與遞歸函數(shù)指向函數(shù)的指針?lè)祷刂羔樦档暮瘮?shù)本章內(nèi)容遞歸與遞歸函數(shù)遞歸問(wèn)題的提出“漢諾塔”(Hanoi)這是一個(gè)必須用遞歸方法才能解決的問(wèn)題n=64時(shí),18,446,744,073,709,551,615次1844億億次每次1微秒,需要60萬(wàn)年遞歸問(wèn)題的提出“漢諾塔”(Hanoi)遞歸問(wèn)題的提出
A→C,A→B,C→B,A→C,B→A,B→C,A→CABCn=3遞歸問(wèn)題的提出ABCn=3遞歸問(wèn)題的提出
A→C,A→B,C→B,A→C,B→A,B→C,A→CABC遞歸問(wèn)題的提出ABC遞歸問(wèn)題的提出
A→C,A→B,C→B,A→C,B→A,B→C,A→CABC遞歸問(wèn)題的提出ABC遞歸問(wèn)題的提出
A→C,A→B,C→B,A→C,B→A,B→C,A→CABC遞歸問(wèn)題的提出ABC遞歸問(wèn)題的提出
A→C,A→B,C→B,A→C,B→A,B→C,A→CABCn更大些怎么辦?遞歸問(wèn)題的提出ABCn更大些遞歸問(wèn)題的提出第一步:將問(wèn)題簡(jiǎn)化。假設(shè)A桿上只有2個(gè)圓盤(pán),即漢諾塔有2層,n=2。ABC遞歸問(wèn)題的提出第一步:將問(wèn)題簡(jiǎn)化。ABC遞歸問(wèn)題的提出對(duì)于一個(gè)有n(n>1)個(gè)圓盤(pán)的漢諾塔,將n個(gè)圓盤(pán)分為兩部分:上面的n-1個(gè)圓盤(pán)和最下面的n號(hào)圓盤(pán)。將“上面的n-1個(gè)圓盤(pán)”看成一個(gè)整體。將n-1個(gè)盤(pán)子從一根木樁移到另一根木樁上將1個(gè)盤(pán)子從一根木樁移到另一根木樁上ACB遞歸問(wèn)題的提出對(duì)于一個(gè)有n(n>1)個(gè)圓盤(pán)的漢諾塔,將n個(gè)遞歸問(wèn)題的提出將n個(gè)盤(pán)子從一根木樁移到另一根木樁上問(wèn)題分解為:將n-1個(gè)盤(pán)子從一根木樁上移到另一根木樁上將1個(gè)盤(pán)子從一根木樁移到另一根木樁上設(shè)計(jì)一個(gè)函數(shù),入口參數(shù)為n:將n個(gè)盤(pán)子從一根木樁移到另一根木樁上將n-1個(gè)盤(pán)子從一根木樁上移到另一根木樁上也要調(diào)用這個(gè)函數(shù)來(lái)實(shí)現(xiàn)出現(xiàn)了函數(shù)調(diào)用自己的問(wèn)題遞歸調(diào)用(RecursiveCall)遞歸問(wèn)題的提出將n個(gè)盤(pán)子從一根木樁移到另一根木樁上遞歸(Recursion)函數(shù)遞歸函數(shù)函數(shù)直接或間接調(diào)用自己直接調(diào)用方式:
intf(x)
{
inty,z;
….
z=f(x);
……
}遞歸(Recursion)函數(shù)遞歸函數(shù)例9.1求整數(shù)n的階乘n!計(jì)算n!=n*(n-1)*(n-2)*…*1迭代法用遞歸的方法例9.1求整數(shù)n的階乘n!計(jì)算n!=n*(n-1)*(例9.1求整數(shù)n的階乘n!#include<stdio.h>main(){ intn,i; longresult=1; printf("Inputn:"); scanf("%d",&n);
result=1; for(i=1;i<=n;i++) result*=i;
printf("%d!=%ld",n,result);}迭代法例9.1求整數(shù)n的階乘n!#include<stdio.hlongfact(longn)
{ longresult; if(n<0) return–1; elseif(n==0||n==1)/*遞歸終止條件*/
return1; else return(n*fact(n-1));/*遞歸調(diào)用*/}例9.1求整數(shù)n的階乘n!遞歸法longfact(longn) #include<stdio.h>longfact(longn); main(){ int n; longresult; printf("Inputn:"); scanf("%d",&n); result=fact(n); if(result==-1) printf("n<0,dataerror!\n"); else printf("%d!=%ld\n",n,result);}例9.1求整數(shù)n的階乘n!遞歸法#include<stdio.h>例9.1求整數(shù)n的階乘n遞歸調(diào)用過(guò)程執(zhí)行過(guò)程:
fact(5)=5*fact(4)=120 fact(4)=4*fact(3)=24
fact(3)=3*fact(2)=6fact(2)=2*fact(1)=2fact(1)=1
mainfact(5)fact(4)fact(3)fact(2)fact(1)遞歸調(diào)用過(guò)程執(zhí)行過(guò)程:mainfact(5)fact(4)f遞歸函數(shù)遞歸方法的基本原理將復(fù)雜問(wèn)題逐步化簡(jiǎn),最終轉(zhuǎn)化為一個(gè)最簡(jiǎn)單的問(wèn)題最簡(jiǎn)單問(wèn)題的解決,就意味著整個(gè)問(wèn)題的解決遞歸調(diào)用應(yīng)該能夠在有限次數(shù)內(nèi)終止遞歸遞歸調(diào)用如果不加以限制,將無(wú)數(shù)次的循環(huán)調(diào)用必須在函數(shù)內(nèi)部加控制語(yǔ)句,只有當(dāng)滿(mǎn)足一定條件時(shí),遞歸終止有時(shí)將其稱(chēng)為條件遞歸遞歸函數(shù)遞歸方法的基本原理遞歸函數(shù)任何一個(gè)遞歸調(diào)用程序必須包括兩部分遞歸循環(huán)繼續(xù)的過(guò)程遞歸調(diào)用結(jié)束的過(guò)程
if(遞歸終止條件成立)
return遞歸公式的初值;elsereturn遞歸函數(shù)調(diào)用返回的結(jié)果值;
遞歸函數(shù)任何一個(gè)遞歸調(diào)用程序必須包括兩部分遞歸函數(shù)思考:下面程序有什么問(wèn)題階乘函數(shù)的遞歸實(shí)現(xiàn)unsigned
long
Fac(unsigned
intn)
{
if(n<0) printf("dataerror!");
elseif(n==0||n==1)
return1;
else
returnn*Fac(n-1);
}編譯這個(gè)程序也會(huì)給出警告,提示“非所有控制分支都有返回值”。同時(shí),運(yùn)行程序后如果我們輸入了一個(gè)負(fù)數(shù),那么程序運(yùn)行結(jié)果為:Inputa:-1↙Inputdataerror!a!=11如果某個(gè)函數(shù)需要返回值的話(huà),那么一定要確保該函數(shù)中的所有控制分支都有返回值。
遞歸函數(shù)思考:下面程序有什么問(wèn)題如果某個(gè)函數(shù)需要返回值的話(huà),返回指針值的函數(shù)
數(shù)據(jù)類(lèi)型*函數(shù)名(參數(shù)表){……}例9.3:編一個(gè)函數(shù)連接兩個(gè)字符串,然后返回連接后字符串的首地址返回指針值的函數(shù)數(shù)據(jù)類(lèi)型*函數(shù)名(參數(shù)表)返回指針值的函數(shù)char*MyStrcat(char*dstStr,char*srcStr){ char*pStr=dstStr;
while(*dstStr!='\0') { dstStr++; }
for(;*srcStr!='\0';dstStr++,srcStr++) { *dstStr=*srcStr; } *dstStr='\0'; returnpStr;}返回指針值的函數(shù)char*MyStrcat(char*d返回指針值的函數(shù)#include<stdio.h>#defineARR_SIZE80char*MyStrcat(char*dstStr,char*srcStr);main(){ charfirst[ARR_SIZE]="Hello"; charsecond[ARR_SIZE]="world"; char*result=NULL;
result=MyStrcat(first,second); printf("\nTheresultis:%s\n",result);}這個(gè)字符數(shù)組應(yīng)該保證足夠大返回指針值的函數(shù)#include<stdio.h>這個(gè)字符數(shù)函數(shù)指針(FunctionPointers)編譯器將不帶()的函數(shù)名解釋為該程序的入口地址換句話(huà)說(shuō),函數(shù)名是指向程序入口的指針數(shù)據(jù)類(lèi)型(*指針名)();例如:int(*p)();幾個(gè)容易犯的錯(cuò)誤:忘記了前一個(gè)(),寫(xiě)成int*p();聲明一個(gè)返回值是整型指針的函數(shù),函數(shù)名為p忘掉了后一個(gè)(),寫(xiě)成int(*p);定義了一個(gè)整型指針定義時(shí)后一個(gè)括號(hào)內(nèi)參數(shù)類(lèi)型與指向的函數(shù)不匹配函數(shù)指針(FunctionPointers)編譯器將不函數(shù)指針求下列函數(shù)的定積分函數(shù)指針求下列函數(shù)的定積分函數(shù)指針不用函數(shù)指針的編程方法floatIntegralFun1(floata,floatb){ floats,h,y; intn,i;
s=((1.0+a*a)+(1.0+b*b))/2.0; n=100; h=(b-a)/n;
for(i=0;i<n;i++) { y=a+i*h;
s+=1.0+y*y;
} returns*h;}函數(shù)指針不用函數(shù)指針的編程方法函數(shù)指針不用函數(shù)指針的編程方法floatIntegralFun2(floata,floatb){ floats,h,y; intn,i;
s=(a/(1.0+a*a)+b/(1.0+b*b))/2.0; n=100; h=(b-a)/n;
for(i=0;i<n;i++) { y=a+i*h;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 揚(yáng)州大學(xué)廣陵學(xué)院《細(xì)胞生物學(xué)與細(xì)胞培養(yǎng)技術(shù)實(shí)驗(yàn)一》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024年員工無(wú)息借款與員工發(fā)展計(jì)劃合同3篇
- 2025房地產(chǎn)合同協(xié)議書(shū)
- 2025駕駛員聘用合同范本下載
- 2024年碎石供應(yīng)商與道路施工方合同
- 2025江蘇省農(nóng)藥購(gòu)買(mǎi)合同范本
- 2024小學(xué)雙語(yǔ)教學(xué)教師職位聘用合同范本2篇
- 2024年03月上海民生銀行上海分行社會(huì)招考(322)筆試歷年參考題庫(kù)附帶答案詳解
- 2024學(xué)校教育資源共享平臺(tái)建設(shè)專(zhuān)家聘用合同3篇
- 2024年直播平臺(tái)主播分成合同3篇
- 2024年美國(guó)家用WiFi路由器市場(chǎng)現(xiàn)狀及上下游分析報(bào)告
- 人教版5年級(jí)上冊(cè)音樂(lè)測(cè)試(含答案)
- 提高護(hù)理文書(shū)書(shū)寫(xiě)規(guī)范率PDCA
- 八年級(jí)上冊(cè)道德與法治期末試卷3(開(kāi)卷)
- DZ/T 0462.3-2023 礦產(chǎn)資源“三率”指標(biāo)要求 第3部分:鐵、錳、鉻、釩、鈦(正式版)
- 《湖北省竹山縣四棵樹(shù)釩礦 礦產(chǎn)資源綜合開(kāi)發(fā)利用及生態(tài)復(fù)綠方案》
- 2024年西藏自治區(qū)中考地理真題(解析版)
- 生物化學(xué)實(shí)驗(yàn)智慧樹(shù)知到期末考試答案2024年
- (正式版)JBT 14682-2024 多關(guān)節(jié)機(jī)器人用伺服電動(dòng)機(jī)技術(shù)規(guī)范
- 醫(yī)療機(jī)構(gòu)藥事管理專(zhuān)業(yè)知識(shí)專(zhuān)家講座
- MOOC 大學(xué)英語(yǔ)綜合教程(中級(jí))-華中農(nóng)業(yè)大學(xué) 中國(guó)大學(xué)慕課答案
評(píng)論
0/150
提交評(píng)論