電力拖動自動控制系統(tǒng)--運(yùn)動控制系統(tǒng)第4版_思考題答案(2)_第1頁
電力拖動自動控制系統(tǒng)--運(yùn)動控制系統(tǒng)第4版_思考題答案(2)_第2頁
電力拖動自動控制系統(tǒng)--運(yùn)動控制系統(tǒng)第4版_思考題答案(2)_第3頁
電力拖動自動控制系統(tǒng)--運(yùn)動控制系統(tǒng)第4版_思考題答案(2)_第4頁
電力拖動自動控制系統(tǒng)--運(yùn)動控制系統(tǒng)第4版_思考題答案(2)_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、習(xí)題解答(供參考)習(xí)題二22系統(tǒng)的調(diào)速范圍是 ioooioor.;min,要求靜差率s=2%,那么系統(tǒng)允許的靜差轉(zhuǎn)速降是 多少?解:m -nsD(s) -1000 0.02(10 0.98)=2.04rpm系統(tǒng)允許的靜態(tài)速降為 2.04rpm。2.3某一調(diào)速系統(tǒng),在額定負(fù)載下,最高轉(zhuǎn)速特性為n0max = 1500r min,最低轉(zhuǎn)速特性為n0min =150r/min,帶額定負(fù)載時(shí)的速度降落二nN =15r;min,且在不同轉(zhuǎn)速下額定速降不變,試問系統(tǒng)能夠達(dá)到的調(diào)速范圍有多大?系統(tǒng)允許的靜差率是多少?解: 1)調(diào)速范圍D=nmax:nmin (均指額定負(fù)載情況下)nmax =n0max 一

2、nN =1500 一15 =1485nmin - n0min =nN = 150 -15 = 135D =nmax. nmin = 1485 13 112) 靜差率 s nN ;詢=15 150 = 10%2.4 直流電動機(jī)為 PN=74kW,UN=220V , In=378A , nN=1430r/min , Ra=0.023 Q。相控整流器內(nèi)阻Rrec=0.022 Q。采用降壓調(diào)速。當(dāng)生產(chǎn)機(jī)械要求 s=20%時(shí),求系統(tǒng)的調(diào)速范圍。如果 s=30%時(shí),則系統(tǒng)的調(diào)速范圍又為多少?解:Ce = (UN -InRJ. nN =(220-378 0.023), 1430 = 0.1478V rpmn

3、=IN RCe3 78 (0. 02 30/02 2)014 7*8)ml1 5D 二r 厶創(chuàng) 一 S= 1 430; 0. 2 1 1 5(1.2)3.1D =山 S n1 S = 1 4 3心0. 3 1 1 5(1. 3) 5.3 32.5某龍門刨床工作臺采用 V-M 調(diào)速系統(tǒng)。已知直流電動機(jī)PN =60kW,UN =220V,IN =305A,nN =1000r. min,主電路總電阻 R=0.18Q,Ce=0.2V?min/r,求:(1) 當(dāng)電流連續(xù)時(shí),在額定負(fù)載下的轉(zhuǎn)速降落AnN為多少?(2) 開環(huán)系統(tǒng)機(jī)械特性連續(xù)段在額定轉(zhuǎn)速時(shí)的靜差率SN多少?(3) 若要滿足D=20,s 2.6

4、3r/min2.6有一晶閘管穩(wěn)壓電源,其穩(wěn)態(tài)結(jié)構(gòu)圖如圖所示,已知給定電壓U; =8.8V、比例調(diào)節(jié)器放大系數(shù)Kp =2、晶閘管裝置放大系數(shù) KS =15、反饋系數(shù)丫 =0.7。求:(1)輸出電壓Ud ;(2)若把反饋線斷開,Ud為何值?開環(huán)時(shí)的輸出電壓是閉環(huán)是的多少倍? (3)若把反饋* *系數(shù)減至丫 =0.35,當(dāng)保持同樣的輸出電壓時(shí),給定電壓U;應(yīng)為多少?解:(1) Ud 二 KpKSU; (1 KpKS)=2 15 8.8 (1 2 15 0.7)=12V(2) Ud =8.8 2 15 = 264V,開環(huán)輸出電壓是閉環(huán)的22倍(3) U;=Ud(1 KpKS ):KpKS=12 (1

5、2 15 0.35) (2 15) = 4.6V2.7 某閉環(huán)調(diào)速系統(tǒng)的調(diào)速范圍是1500r/min150r/min,要求系統(tǒng)的靜差率 S - 5%,那么系統(tǒng)允許的靜態(tài)速降是多少?如果開環(huán)系統(tǒng)的靜態(tài)速降是100r/min,則閉環(huán)系統(tǒng)的開環(huán)放大倍數(shù)應(yīng)有多大?解:1) D = nNs/ :nN 1 - s僅供參考【填空】函數(shù) fun 的功能是計(jì)算如下公式。直到,并且把計(jì)算結(jié)果作為函數(shù)值返回。例如, 若形參e的值為1e 3,則函數(shù)返回值為0.551690?!敬鸢浮俊?】3.0【2】 【3】(t + 1)【改錯(cuò)】 函數(shù) fun 的功能是: 求出如下分?jǐn)?shù)序列的前 n 項(xiàng)之和。 和值通過函數(shù)值返回。 例如

6、, 若n= 5,則應(yīng)輸出 8.391667?!敬鸢浮俊?1 】 double fun(int n)【2】s= s+ (double)a/b ;【編程】請編寫函數(shù) fun,其功能是:找出 2 x M整型二維數(shù)組中最大元素的值,并將此值 返回調(diào)用函數(shù)。【答案】int fun (int a M)int i, j, max = a00;for(i = 0; i2 ; i+ )for(j = 0; jM ; j + + )if(max = eps) s1 = s1s= s+ s1;n;return 2僅供參考【填空】函數(shù)fun的功能是:統(tǒng)計(jì)形參 s所指的字符串中數(shù)字字符出現(xiàn)的次數(shù),并存放在形 參 t 所

7、指的變量中,最后在主函數(shù)中輸出。例如,若形參 s 所指的字符串為 abcdef35adgh3kjsdf7 ,則輸出結(jié)果為 4。【答案】【1】si【2】9【3】*t = n【改錯(cuò)】 函數(shù) fun 的功能是: 實(shí)現(xiàn)兩個(gè)變量值的交換, 規(guī)定不允許增加語句和表達(dá)式。 例如, 變量 a 中的值原為 8,b 中的值原為 3,程序運(yùn)行后 a 中的值為 3,b 中的值為 8。【答案】【1】t = *x ; *x = y ;【 2】 return(t) ;【編程】編寫函數(shù) fun ,其功能是:求出 1 到 1000 之間能被 7 或 11 整除,但不能同時(shí)被 7 和11整除的所有整數(shù),并將其放在a所指的數(shù)組中,

8、通過 n返回這些數(shù)的個(gè)數(shù)。【答案】void fun(int *a , int *n)int i, j = 0;for(i = 1 ; iave= 0.0;for(i = 0; iave= a ave+ a si;僅供參考【填空】函數(shù)fun的功能是進(jìn)行數(shù)字字符轉(zhuǎn)換。若形參ch中是數(shù)字字符09,則將0轉(zhuǎn)換成9,1轉(zhuǎn)換成 8,2轉(zhuǎn)換成 7, , 9轉(zhuǎn)換成 0;若是其它字符則保持不變;并將轉(zhuǎn)換后的結(jié)果作為函數(shù)值返回。【答案】 【 1】 char【2】chnext;while(p != NULL) av= av p s;p= p next;僅供參考【填空】函數(shù) fun 的功能是:求 ss 所指字符串?dāng)?shù)組

9、中長度最短的字符串所在的行下標(biāo),作 為函數(shù)值返回,并把其串長放在形參n所指的變量中。ss所指字符串?dāng)?shù)組中共有M個(gè)字符串,且串長 N ?!敬鸢浮俊?1】 M【 2】 = a )&( tti = z)【 2】 tti = 32;【編程】編寫函數(shù)fun,其功能是:將所有大于 1小于整數(shù)m的非素?cái)?shù)存入xx所指數(shù)組中, 非素?cái)?shù)的個(gè)數(shù)通過 k返回。例如,若輸入17,則應(yīng)輸出:46891012141516。【答案】void fun(int m, int *k, int xx)int i , j , n= 0;for(i = 4; im ; i ) for(j = 2; ji ; j )if(i%j = 0)

10、 break;if(ji) xxn = i;*k = n;僅供參考【填空】函數(shù) fun 的功能是:將 s 所指字符串中的所有數(shù)字字符移到所有非數(shù)字字符之后, 并保持?jǐn)?shù)字字符串和非數(shù)字字符串原有的次序。例如,s所指的字符串為 def35adh3kjsdf7,執(zhí)行后結(jié)果為 defadhajsdf3537?!敬鸢浮俊?1】 j【2】si = t1i【3】j【改錯(cuò)】函數(shù) fun 的功能是:用冒泡法對 6 個(gè)字符串進(jìn)行升序排列?!敬鸢浮俊? 】for (j = I + 1; j 6; j + )【2 】(pstrl) = *(pstr + j);【編程】編寫函數(shù)fun,其功能是:求ss所指字符串中指定字

11、符的個(gè)數(shù),并返回此值。例如,若輸入字符串 123412132,輸入字符為 1,則輸出 3?!敬鸢浮縤nt fun(char *ss, char c)int i = 0;for(; *ss != 0; ss+ )if(*ss = c)i ;return i ;僅供參考【填空】 下列給定程序中已建立一個(gè)帶頭結(jié)點(diǎn)的單向鏈表, 鏈表中的各結(jié)點(diǎn)按結(jié)點(diǎn)數(shù)據(jù)域中 的數(shù)據(jù)遞增有序鏈接。函數(shù) fun 的功能是:把形參 x 的值放入一個(gè)新結(jié)點(diǎn)并插入鏈表中,使 插入后各結(jié)點(diǎn)數(shù)據(jù)域中的數(shù)據(jù)仍保持遞增有序?!敬鸢浮俊?1 】 x【 2】 p【 3】 s【改錯(cuò)】函數(shù) fun 的功能是:計(jì)算正整數(shù) num 各位上的數(shù)字之積

12、。例如,若輸入252,則輸出應(yīng)該是 20。若輸入 202,則輸出應(yīng)該是 0?!敬鸢浮?【1】 long k=1;【 2】 num /= 10;【編程】編寫函數(shù)fun,其功能是:計(jì)算 n門課程的平均分,結(jié)果作為函數(shù)值返回。例如:若有 5 門課程的成績是: 90.5,72,80,61.5,55,則函數(shù)的值為:71.80?!敬鸢浮縡loat fun (float *a, int n)float av = 0.0;int i ;for(i = 0; in ; i )av= av ai ;return (av/n) ;僅供參考【填空】函數(shù)fun的功能是:將形參a所指數(shù)組中的前半部分元素中的值與后半部分元

13、素中 的值對換。形參n中存放數(shù)組中數(shù)據(jù)的個(gè)數(shù),若 n為奇數(shù),則中間的元素不動。例如:若 a 所指數(shù)組中的數(shù)據(jù)為: 1、 2、3、4、5、6、7、8、9,則調(diào)換后為: 6、7、 8、9、5、1、2、 3、4?!敬鸢浮俊?】1【2】 i 【3】 ap i【改錯(cuò)】函數(shù)fun的功能是:把從主函數(shù)中輸入的3個(gè)數(shù),最大的數(shù)放在 a中,中間的數(shù)放在b中,最小的數(shù)放在 c中。例如,若輸入的數(shù)為:55 12 34,輸出的結(jié)果應(yīng)當(dāng)是:a=55.0, b = 34.0, c= 12.0。【答案】【 1 】 float k ;【 2】 if(*a *c)【編程】學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已放入主函數(shù)中

14、的結(jié)構(gòu)體數(shù)組s中,請編寫函數(shù)fun,其功能是:把分?jǐn)?shù)最高的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中。注意:分?jǐn)?shù)最高的學(xué)生可能不止一個(gè),函數(shù)返回分?jǐn)?shù)最高的學(xué)生的人數(shù)。【答案】int fun (STREC *a, STREC *b)int i, j= 0, max= a0 s;for(i = 0;iN ;i ) if(maxai s) max= ai s; for(i = 0;iN ;i ) if(max= ais) bj= ai; return j ;僅供參考【填空】函數(shù)fun的功能是:從形參ss所指字符串?dāng)?shù)組中,刪除所有串長超過k的字符串,函數(shù)返回剩余字符串的個(gè)數(shù)。ss所指字符串?dāng)?shù)組中共有 N個(gè)字符串,且串

15、長小于M?!敬鸢浮俊?1】 N 【2】 k【3】 ssi【改錯(cuò)】 函數(shù) fun 的功能是: 逐個(gè)比較 p、q 所指兩個(gè)字符串對應(yīng)位置上的字符, 并把 ASCII 值大或相等的字符依次存放到 c所指的數(shù)組中,形成一個(gè)新的字符串。例如,若主函數(shù)中a字符串為aBCDeFgH , b字符串為 ABcd,貝U c中的字符串應(yīng)為 aBcdeFgH。【答案】 【1】 int k = 0;【 2】 while (*p|*q)【編程】規(guī)定輸入的字符串中只包含字母和*號。請編寫函數(shù) fun,其功能是:除了字符串前導(dǎo)的 *號之外,將串中其它 *號全部刪除。在編寫函數(shù)時(shí),不得使用 C 語言提供的字符串 函數(shù)。例如,字

16、符串中的內(nèi)容為: *A*BC*DEF*G* ,刪除后,字符串中的內(nèi)容應(yīng) 當(dāng)是: *ABCDEFG 。【答案】void fun(char *a)int i = 0;char *p = a;while(*p&*p= = *)ai = *p ;i; p;while(*p)if(*p != *,)ai = *p ; i + + ;p;ai = 0;僅供參考【填空】下列給定程序中,函數(shù) fun 的功能是:把形參 s 所指字符串中下標(biāo)為奇數(shù)的字符右 移到下一個(gè)奇數(shù)位置, 最右邊被移出字符串的字符繞回放到第一個(gè)奇數(shù)位置, 下標(biāo)為偶數(shù)的 字符不動(注:字符串的長度大于等于2)。例如,形參s所指字符串為abcd

17、efgh,執(zhí)行結(jié)果為 ahcbedgf?!敬鸢浮俊?】 1【1】*(sk) 【1】 c【改錯(cuò)】fun函數(shù)的功能是:求表達(dá)式 s= aa. aaaaa aa a(此處aa. aa表示n 個(gè) a, a 和 n 的值在 1 至 9 之間 )例如, a= 3, n= 6,則以上表達(dá)式為:s= 333333 33333 3333 333 333 其值是 296298。 a 和 n 是 fun 函數(shù)的形參, 表達(dá)式的值作為函數(shù)值傳回 main 函數(shù)?!敬鸢浮俊?】 long s=0, t=0;【 1】 t= t/10;【編程】編寫函數(shù) void fun (char *tt, i nt pp),統(tǒng)計(jì)在tt所

18、指的字符串中a到z26個(gè)小寫字 母各自出現(xiàn)的次數(shù),并依次放在pp所指的數(shù)組中。例如,當(dāng)輸入字符串a(chǎn)bcdefgabcdeabc后, 程序的輸出結(jié)果應(yīng)該是: 3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0【答案】void fun(char *tt, int pp)int i ;for(i= 0; i = a &*ttdata 【 3】 t【改錯(cuò)】函數(shù) fun 的功能是: 將字符串中的字符逆序輸出, 但不改變字符串中的內(nèi)容。 例如, 若字符串為abed,則應(yīng)輸出:deba?!敬鸢浮俊?1 】 void fun(char *a)【2】print

19、f(%e , *a);【編程】編寫函數(shù)fun,其功能是:比較字符串的長度,(不得使用C語言提供的求字符串長度的函數(shù) ),函數(shù)返回較長的字符串。若兩個(gè)字符長度相同,則返回第一個(gè)字符串。 例如,輸入 beijingshanghai( 為回車鍵 ),函數(shù)將返回 shanghai?!敬鸢浮縠har *fun(ehar *s, ehar *t)int i, j;for(i = 0; si ! = 0; i + + );for(j = 0; tj ! = 0j + + );if(i = j)return s;elsereturn t;僅供參考【填空】函數(shù)fun的功能是:逆置數(shù)組元素中的值。例如:若a所指數(shù)

20、組中的數(shù)據(jù)為:1、2、3、4、5、6、7、8、9,則逆置后依次為:9、8、 7、6、5、4、3、2、1。形參 n 給出數(shù)組中數(shù)據(jù)的個(gè)數(shù)?!敬鸢浮俊?】 n/2【2】 i【3】 ani1【改錯(cuò)】 函數(shù) fun 的功能是: 將一個(gè)由八進(jìn)制數(shù)字字符組成的字符串轉(zhuǎn)換成與其面值相等的 十進(jìn)制整數(shù)。規(guī)定輸入的字符串最多只能包含 5 位八進(jìn)制數(shù)字字符。例如,若輸入 77777,則輸出 32767。【答案】【1】n= *p O;【2】n= n*8 + *p O;【編程】學(xué)生的記錄由學(xué)號成績組成, N 名學(xué)生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組 s 中, 請編寫函數(shù) fun ,其功能是:函數(shù)返回該學(xué)號的學(xué)生數(shù)據(jù),指

21、定的學(xué)號在主函數(shù)中輸入。若 沒找到指定學(xué)號,在結(jié)構(gòu)體變量中給學(xué)號置空串,給成績置 1 ,作為函數(shù)值返回。 (用于字 符串比較的函數(shù)是 strcmp)?!敬鸢浮縎TREC fun(STREC *a, char *b)int i ;STREC str = O , 1;if(strcmp(ai . num, b) = 0)str= ai;return str;僅供參考【填空】 下列給定程序的功能是: 調(diào)用函數(shù) fun 將指定源文件中的內(nèi)容復(fù)制到指定的目標(biāo)文 件中, 復(fù)制成功時(shí)函數(shù)返回 1 ,失敗時(shí)返回 0。在復(fù)制的過程中,把復(fù)制的內(nèi)容輸出到屏幕。 主函數(shù)中源文件名放在變量 sfname中,目標(biāo)文件名

22、放在變量 tfname中。【答案】【 1 】 r【 2】 fs【 3】 ft【改錯(cuò)】函數(shù) fun 的功能是:將長整型數(shù)中各位上為偶數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t 中。高位仍在高位,低位仍在低位。例如,當(dāng) s 中的數(shù)為 87653142 時(shí), t 中的數(shù): 8642。 【答案】【1】if(d%2 = 0)【2 s/= 10;【編程】編寫函數(shù) fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)a、b合并成一個(gè)整數(shù)放在 c中。合并的方式是:將 a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的十位和千位上,b數(shù)的十位和個(gè)位數(shù)依次放在 c 數(shù)的百位和個(gè)位上。例如,當(dāng)a= 45, b = 12時(shí),調(diào)用該函數(shù)后,c = 5142。

23、【答案】void fun(int a , int b, long *c)*c = b%10 + (a/10)*10 + (b/10)*100 + (a%10)*1000 ;僅供參考【填空】函數(shù)fun的功能是:有 N x N矩陣,根據(jù)給定的 m(m = 2) & (n = 1e 6);return x1 ;僅供參考【填空】程序通過定義學(xué)生結(jié)構(gòu)體變量,存儲學(xué)生的學(xué)號、姓名和3門課的成績。函數(shù) fun的功能是:將形參a所指結(jié)構(gòu)體變量中的數(shù)據(jù)賦給函數(shù)中的結(jié)構(gòu)體變量b,并修改b中的學(xué)號和姓名,最后輸出修改后的數(shù)據(jù)。例如, a 所指變量中的學(xué)號、姓名和三門課的成績依次是:10001、ZhangSan、95

24、、80、88,則修改后輸出 b中的數(shù)據(jù)應(yīng)為:10002、LiSi、95、80、88?!敬鸢浮俊?1】 a【 2】 b name【 3】 scorei【改錯(cuò)】函數(shù)fun的功能是:刪除s所指字符中所有的小寫字母c?!敬鸢浮俊?】sj + = si;或sj = si ; j + + ; 【2】sj = 0;規(guī)定輸入的字符串中只包含字母和*號。請編寫函數(shù)fun,其功能是:將字符串中的前導(dǎo)*號全部移到字符串的尾部。例如,字符串中的內(nèi)容為:*A*BC*DEF*G* ,移 動后,字符串中的內(nèi)容應(yīng)當(dāng)是: A*BC*DEF*G* 。在編寫函數(shù)時(shí),不得使用 C 語 言提供的字符串函數(shù)?!敬鸢浮縱oid fun(c

25、har *a)int i = 0, n = 0;char *p ;P= a;while (*p = = *)n; p;while(*p)ai = *p ; i + + ; p + + ;while(n != 0)ai = *i + + ; n ;ai = 0;僅供參考【填空】下列給定程序的功能是:從鍵盤輸入若干行字符串 (每行不超過 80 個(gè)字符 ),寫入 文件 myfile4.txt 中,用 1 作字符串輸入結(jié)束的標(biāo)志,然后將文件的內(nèi)容顯示在屏幕上。文 件的讀寫分別由函數(shù) ReadText 和 WriteText 實(shí)現(xiàn)?!敬鸢浮俊?1】 *fw 【 2】 str【 3】 str【改錯(cuò)】函數(shù)

26、fun 的功能是:從低位開始依次取出長整型變量 s 中奇數(shù)位上的數(shù),構(gòu)成一個(gè) 新數(shù)存放在 t 中。高位仍在高位,低位仍在低位。例如,當(dāng)s中的數(shù)為7654321時(shí),t中的數(shù)為7531?!敬鸢浮俊? 】 void fun(long s , long *t)【2】s1= s1【編程】編寫函數(shù) fun,其功能是:將兩個(gè)兩位數(shù)的正整數(shù)a、b合并成一個(gè)整數(shù)放在 c中。合并的方式是:將 a數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的個(gè)位和百位上,b數(shù)的十位和個(gè)位數(shù)依次放在c數(shù)的千位和十位上。例如,當(dāng) a= 45, b= 12 時(shí),調(diào)用該函數(shù)后,c= 1524?!敬鸢浮縱oid fun(int a , int b, lon

27、g *c)*c=a/10(b%10)*10(a%10)*100(b/10)*1000;僅供參考【填空】函數(shù)fun的功能是:有N x N矩陣,將矩陣的外圍元素做順時(shí)針旋轉(zhuǎn)。操作順序是:首先將第一行元素的值存入臨時(shí)數(shù)組r,然后使第一列成為第一行,最后一行成為第一列,最后一列成為最后一行,再使臨時(shí)數(shù)組中的元素成為最后一列。例如,若N = 3,有下列矩陣:123456789操作后應(yīng)為:741852963【答案】【1】0【2】j 【3】j【改錯(cuò)】函數(shù) fun 的功能是:計(jì)算 S= f( n) + f( n+ 1)+ . + f(0) + f(1) + f(2) + . + f(n)的值。 例如,當(dāng)n的值

28、為5時(shí),函數(shù)值應(yīng)為10.407143。 f(x)函數(shù)定義如下:f(x) = (x + 1)/(x 2)x0 且 XM 2f(x) 0x = 0 或 x = 2(x 1)/(x 2)x0【答案】【 1 】 double f(double x)【 2】 return s ;【編程】編寫函數(shù) fun,其功能是計(jì)算:s作為函數(shù)值返回。在 C語言中可調(diào)用log(n)函數(shù) 求 ln(n)。 log 函數(shù)的引用說明為: double log(double x) 。例如,若 m 的值為 20,則 fun 函數(shù) 值為 6.506583。【答案】double fun(int m)int i ;double s=

29、0.0;for(i = 1; i = m; i + + )s= s+ log(i);return sqrt(s) ;僅供參考【填空】函數(shù)fun的功能是:在形參ss所指字符串?dāng)?shù)組中,查找含有形參substr所指子串的所有字符串,并輸出,若沒找到則輸出相應(yīng)信息。ss所指字符串?dāng)?shù)組中共有N個(gè)字符串,且串長小于M。程序中庫函數(shù) strstr(s1, s2)的功能是在s1串中查找s2子串,若沒有,函數(shù) 值為 0,若有,函數(shù)值為非 0?!敬鸢浮俊?】 N【2】 substr【3】 0【改錯(cuò)】函數(shù) fun 的功能是:求三個(gè)數(shù)的最小公倍數(shù)。例如,若給主函數(shù)中的變量x1、x2、x3 分別輸入 15112,則輸出

30、結(jié)果應(yīng)當(dāng)是 330?!敬鸢浮俊?1 】 fun(int x , int y, int z)【 2】 return j ;【編程】規(guī)定輸入的字符串中只包含字母和*號。請編寫函數(shù) fun,其功能是:只刪除字符前導(dǎo)和尾部的*號,串中字母間的*號都不刪除。形參n給出了字符串的長度,形參h給出了字符串中前導(dǎo)*號的個(gè)數(shù),形參e給出了字符串中尾部*號的個(gè)數(shù)。在編寫函數(shù)時(shí),不得使用 C 語言提供的字符串函數(shù)?!敬鸢浮縱oid fun (char *a , int n ,int h , int e)int i, j = 0;for(i = h ; in e; i + + )aj + + = ai;aj = 0;

31、僅供參考【填空】函數(shù) fun 的功能是:計(jì)算一個(gè)帶頭結(jié)點(diǎn)的單向鏈表中各結(jié)點(diǎn)的數(shù)據(jù)域中數(shù)值之和, 結(jié)果作為函數(shù)值返回?!敬鸢浮俊?1】data【2】 next【3】 head【改錯(cuò)】 函數(shù) fun 的功能是: 將 s 所指字符串中出現(xiàn)的與 t1 所指字符串相同的子串全部替換 為 t2 所指字符串,所形成的新串放在 w 所指的數(shù)組中。要求 t1 和 t2 所指字符串的長度相 同。例如,當(dāng)s所指字符串中的內(nèi)容為abcdabfab, t1所指子串中的內(nèi)容為ab, t2所指子 串中的內(nèi)容為99時(shí),在w所指的數(shù)組中的內(nèi)容應(yīng)為 99cd99f99。【答案】【1】while( *r)【2】r+ + ;【編程】

32、函數(shù)fun的功能是:將s所指字符串中下標(biāo)為偶數(shù)的字符刪除,剩余字符形成的新 串放在t所指數(shù)組中。例如,當(dāng)s所指字符串中的內(nèi)容為ABCDEFGHIJK時(shí),在t所指數(shù)組中的內(nèi)容應(yīng)是: BDFHJ 。【答案】void fun(char *s , char t)int i, j = 0, k = strlen(s);for(i = 1; iscorei【 3】 a【改錯(cuò)】函數(shù) fun 的功能是:從 N 個(gè)字符串中找出最長的串,并將其地址作為函數(shù)值返回。 各字符串在主函數(shù)中輸入,并放入一個(gè)字符串?dāng)?shù)組中?!敬鸢浮俊?1 】 char *fun(char (*sq)M)【 2】 return sp;【編程】

33、編寫函數(shù)fun,其功能是:將a、b中的兩個(gè)兩位正整數(shù)合并成一個(gè)新的整數(shù)放在c中。合并的方式是:將 a 中的十位和個(gè)位數(shù)依次放在變量 c 的百位和個(gè)位上, b 中的十位和 個(gè)位數(shù)依次放在變量 c的十位和千位上。例如,當(dāng) a= 45, b= 12,調(diào)用該函數(shù)后 c= 2415?!敬鸢浮縱oid fun(int a , int b, long *c) *c = a%10+ (b/10)*10 + (a/10)*100 + (b%10)*1000 ;僅供參考【填空】函數(shù)fun的功能是:將N x N矩陣主對角線元素的值與反向?qū)蔷€對應(yīng)位置上元素 的值進(jìn)行交換。例如,若N = 3,有下列矩陣:123456

34、789交換后為:321456987【答案】【1】tN【2】i = 0; iN【3】s【改錯(cuò)】由 N 個(gè)有序整數(shù)組成的數(shù)列已放在一維數(shù)組中,下列給定程序中函數(shù)fun 的功能是:利用折半查找法查找整數(shù)m在數(shù)組中的位置。若找到,返回其下標(biāo)值;否則,返回一1。折半查找的基本算法是:每次查找前先確定數(shù)組中待查的范圍low 和 high(lowhigh ,查找結(jié)束?!敬鸢浮俊?1 】 int fun(int a , int m)【 2】 else if(mamid)【編程】假定輸入的字符串中只包含字母和*號。請編寫函數(shù) fun ,其功能是:除了尾部的 *號之外,將字符中的其它的 *號全部刪除。形參 p 已

35、指向字符串中最后的一個(gè)字母。在編寫 函 數(shù) 時(shí) , 不 得 使 用 C 語 言 提 供 的 字 符串 函 數(shù) 。 例 如 , 字 符 串 中 的 內(nèi) 容 為 *A*BC*DEF*G* ,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是 ABCDEFG* ?!敬鸢浮縱oid fun(char *a , char *p)char *t = a;for(; t0)【編程】學(xué)生的記錄由學(xué)號和成績組成, N 名學(xué)生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組 s 中, 請編寫函數(shù) fun ,其功能是:按分?jǐn)?shù)降序排列學(xué)生的記錄,高分在前,低分在后。【答案】void fun (STREC a)int i ,j ;STREC t ;for(

36、i = 1; iN ; i + + )for(j = 0; jN 1; j + ) if(aj . ssno【2】 name【3】 &t【改錯(cuò)】函數(shù)fun的功能是:用遞歸算法求形參a的平方根。求平方根的迭代公式如下:例如,a為2時(shí),平方根值為:1.414214。【答案】【 1 】 double fun(double a , double x0)【2】if(fabs(x1 x0) = 0.00001)【編程】學(xué)生的記錄由學(xué)號和成績組成。N名學(xué)生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組s 中,請編寫函數(shù)fun,其功能是:把高于等于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,高于等于平均分的學(xué)生人數(shù)通過形參 n 傳回,平均分通過函數(shù)值返回?!敬鸢浮縟ouble fun (STREC *a , STREC *b, int *n)int i ;double av = 0.0;*n = 0;for(i = 0; iN ; i + + )av= av+ ai. s;av= av/N ;for(i = 0; iN ; i + + )if(av = ai . s) b*n = ai; *n = *n + 1; return av;僅供參考【填空】 下列給定程序中已建立了一個(gè)帶頭結(jié)點(diǎn)的單向鏈表, 鏈表中的各結(jié)點(diǎn)按數(shù)據(jù)域遞增 有序鏈接。函數(shù) fun 的功能是:刪除鏈表中數(shù)據(jù)域值相同的結(jié)點(diǎn),使之只保留一個(gè)?!敬鸢?/p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論