華南農(nóng)業(yè)大學(xué)C語言實驗上機(jī)實驗第四版參考答案_第1頁
華南農(nóng)業(yè)大學(xué)C語言實驗上機(jī)實驗第四版參考答案_第2頁
華南農(nóng)業(yè)大學(xué)C語言實驗上機(jī)實驗第四版參考答案_第3頁
華南農(nóng)業(yè)大學(xué)C語言實驗上機(jī)實驗第四版參考答案_第4頁
華南農(nóng)業(yè)大學(xué)C語言實驗上機(jī)實驗第四版參考答案_第5頁
已閱讀5頁,還剩35頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計上機(jī)實驗指導(dǎo)與習(xí)題參照答案(第四版)(學(xué)生改編)實驗1C語言程序初步一、實驗?zāi)康模?)認(rèn)識所用的計算機(jī)系統(tǒng)的基本操作方法,學(xué)會獨(dú)立使用該系統(tǒng)。(2)認(rèn)識在該系統(tǒng)上如何編寫、編譯、連接和運(yùn)行一個C程序。3)經(jīng)過運(yùn)行簡單的C程序,初步認(rèn)識C程序的特點(diǎn)。4)在教師的指導(dǎo)下,學(xué)會使用在線評判系統(tǒng)。二、實驗內(nèi)容1.運(yùn)行第一個C程序題目:ThefirstCProgram將以下程序輸入visualc+,編譯、連接和運(yùn)行該程序。#includemain()printf(ThefirstCProgramn);詳盡操作步驟1)在編寫窗口中輸入程序。2)保留程序,取名為。3)依照第一章中介紹的方法,編

2、譯、連接和運(yùn)行程序。依照第三章介紹的方法,將代碼提交到在線評判系統(tǒng),系統(tǒng)返回“經(jīng)過”,則該題完成。12.在在線評判系統(tǒng)中提交實現(xiàn)了計算a+b功能的程序題目1001:計算a+b由鍵盤輸入兩個整數(shù),計算并輸出兩個整數(shù)的和。實現(xiàn)該功能的程序以下,#includemain()inta,b;scanf(%d%d,&a,&b);printf(%d,a+b);1)在程序編寫窗口中輸入程序。2)保留程序,取名為。3)依照前二章中介紹的方法,編譯、連接和運(yùn)行程序。4)在程序運(yùn)行過程中,輸入1530(表示輸入回車符)5)若是看到以下輸出結(jié)果,則表示15+30的結(jié)果正確,若是得不到以下結(jié)果,則需檢查并更正程序。45

3、6)依照第三章中介紹的方法進(jìn)入在線評判系統(tǒng)。7)顯示題目列表,點(diǎn)擊題號為1001,題名為“計算a+b”的題目。(8)查察完題目要求后,點(diǎn)擊頁面下端的“sumbit”,參照第二章提交程序的方法提交程序。9)查察評判結(jié)果,若是獲取“accepted”則該題經(jīng)過,否則返回第一步檢查程序可否正確。3實驗2基本數(shù)據(jù)種類、運(yùn)算和表達(dá)式一、實驗?zāi)康?)掌握C語言數(shù)據(jù)種類,熟悉如何定義一個整型和實型的變量,以及對它們賦值的方法。2)掌握不相同的種類數(shù)據(jù)之間賦值的規(guī)律。(3)學(xué)會使用C的有關(guān)算術(shù)運(yùn)算符,以及包括這些運(yùn)算符的表達(dá)式,特別是自加(+)和自減(-)運(yùn)算符的使用。(4)進(jìn)一步熟悉C程序的編寫、編譯、連接

4、和運(yùn)行的過程。二、實驗內(nèi)容1.變量的定義題目1117:變量定義,按要求完成程序下面給出一個能夠運(yùn)行的程序,但是缺少部分語句,請按右邊的提示補(bǔ)充完滿缺少的語句。#includemain()inta,b;/*定義整型變量a和b*/2inti,j;/*定義實型變量i和j*/a=5;b=6;i=;j=i*a*b;printf(a=%d,b=%d,i=%f,j=%fn,a,b,i,j);詳盡操作步驟1)將代碼補(bǔ)充完滿;2)在codeblocks或VC+上運(yùn)行經(jīng)過;3)在在線評判系統(tǒng)上提交;題目6568:在顯示屏上顯示指定字符要求編寫一個程序,在顯示屏上顯示以下內(nèi)容(全為半角字符,且不包括空格):提示注意

5、轉(zhuǎn)義字符在程序中的使用。參照程序:#includeintmain()printf(C:);賦值表達(dá)式與賦值語句題目1118:賦值表達(dá)式與賦值語句,寫出程序運(yùn)行結(jié)果閱讀下面程序,寫出運(yùn)行結(jié)果:#includeintmain()floata;intb,c;chard,e;a=;b=a;c=330;d=c;e=141;printf(%f,%d,%d,%c,%c,a,b,c,d,e);運(yùn)行結(jié)果為:,3,330,J,a提示賦值語句擁有種類變換的功能,但可能會改變數(shù)據(jù)。基本運(yùn)算題目1119:基本運(yùn)算,寫出程序運(yùn)行結(jié)果閱讀下面程序,寫出運(yùn)行結(jié)果:3#includemain()inta,b,c;floatd=

6、15,e,f;a=35%7;b=15/10;c=b+;e=15/10;f=d/10;printf(%d,%d,%d,%f,%f,%f,a,b,c,d,e,f);運(yùn)行結(jié)果為:0,2,1,提示除法分整除與一般除法之分。5實驗3基本輸入與輸出一、實驗?zāi)康模?)熟練掌握putchar、getchar、printf、scanf函數(shù)的使用方法。2)掌握各種種類數(shù)據(jù)的輸入輸出的方法,能正確使用各種格式變換符。二、實驗內(nèi)容題目1126:字符的輸入與輸出編程實現(xiàn)由鍵盤輸入一個字符后,在屏幕上輸出該字符。第一組自測數(shù)據(jù)鍵盤輸入a正確輸出a第二組自測數(shù)據(jù)鍵盤輸入+正確輸出+參照程序:#includemain()ch

7、arch;ch=getchar();putchar(ch);題目1127:計算加法編程實現(xiàn)由鍵盤輸入一個加法式,輸出正確的結(jié)果。(兩個加數(shù)均為整數(shù))4第一組自測數(shù)據(jù)鍵盤輸入10+20正確輸出30第二組自測數(shù)據(jù)鍵盤輸入-15+60正確輸出45參照程序:#includemain()inta,b;scanf(%d%d,&a,&b);printf(%d,a+b);題目1014:求圓面積由鍵盤輸入圓半徑r,請計算該圓的面積。(注:取,結(jié)果保留兩位小數(shù)位;別的,程序只要能對r在0到10000范圍的情況輸出正確答案即可)第一組自測數(shù)據(jù)鍵盤輸入2正確輸出第二組自測數(shù)據(jù)鍵盤輸入正確輸出提示結(jié)果保留兩位小數(shù)可采用

8、printf函數(shù)的格式控制字符來實現(xiàn)。參照程序:#includemain()floatarea,r;scanf(%f,&r);area=*r*r;printf(%,area);3題目1015:計算攝氏溫度值從鍵盤輸入一個華氏溫度值,要求按格式輸出其對應(yīng)的攝氏溫度值,精確到小數(shù)點(diǎn)后兩位。5數(shù)學(xué)公式描述為:C=5*(F-32)/9第一組自測數(shù)據(jù)鍵盤輸入100正確輸出第二組自測數(shù)據(jù)鍵盤輸入100正確輸出提示注意公式中的除為一般除法。參照程序:#includemain()floatf,c;scanf(%f,&f);c=9*(f-32);printf(%.2f,c);題目11127:各個數(shù)字從鍵盤輸入一

9、個3位數(shù)的正整數(shù),要求先后輸出該數(shù)字的百位數(shù)字與個位數(shù)字,各占一行。第一組自測數(shù)據(jù)第一組自測數(shù)據(jù)鍵盤輸入鍵盤輸入123654正確輸出正確輸出1634提示合理使用整除與求模(即求余)運(yùn)算。參照程序:#includemain()intn,i,j;scanf(%d,&n);=n/100;=n%10;printf(%dn%d,i,j);6實驗4選擇結(jié)構(gòu)程序設(shè)計一、實驗?zāi)康?)認(rèn)識C語言表示邏輯的方法(以0代表“假”,以非0代表“真”)。2)學(xué)會正確使用邏輯運(yùn)算符和邏輯表達(dá)式。3)熟練掌握if語句和switch語句。4)結(jié)合程序掌握一些簡單的算法。二、實驗內(nèi)容題目1018:數(shù)的排序由鍵盤輸入三個整數(shù)a、

10、b、c,按從小到大的序次輸出這三個數(shù)。第一組自測數(shù)據(jù)鍵盤輸入65,45,90正確輸出45,65,90第二組自測數(shù)據(jù)鍵盤輸入9,6,3正確輸出3,6,9參照程序:#includemain()inta,b,c,t;scanf(%d,%d,%d,&a,&b,&c);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;printf(%d,%d,%d,a,b,c);題目1016:字符變換由鍵盤輸入5個字符,將其中的大寫字母變成小寫,其他種類的字符不變,并按輸入順序逐個輸出。第一組自測數(shù)據(jù)鍵盤輸入ApPLe正確輸出apple第二組自測數(shù)據(jù)鍵盤輸入a+

11、B=5正確輸出a+b=5提示下面代碼實現(xiàn)由鍵盤讀入一個字符,并按題意辦理后輸出7chara;a=getchar();if(a=A&a=Z)a=a+32;putchar(a);6現(xiàn)在,題目要求辦理5個字符,怎么做呢請自己思慮參照程序:#includemain()chara,b,c,d,e;scanf(%c%c%c%c%c,&a,&b,&c,&d,&e);if(a=A)a=a+32;if(b=A)b=b+32;if(c=A)c=c+32;if(d=A)d=d+32;if(e=A)e=e+32;printf(%c%c%c%c%c,a,b,c,d,e);題目1019:數(shù)的整除由鍵盤輸入5個整數(shù),逐個判

12、斷它們可否被27整除,能的輸出“YES”,不能夠的輸出“NO”(注意,輸出時,一個判斷結(jié)果占一行,5個數(shù)的判斷共占5行)。第一組自測數(shù)據(jù)鍵盤輸入8271757732554正確輸出NOYESYESNOYES第二組自測數(shù)據(jù)鍵盤輸入8271757732554正確輸出NOYESYESNOYES提示整除即除得余數(shù)為0參照程序:#includemain()inta,b,c,d,e;8scanf(%d%d%d%d%d,&a,&b,&c,&d,&e);if(a%27=0)printf(YESn);elseprintf(NOn);if(b%27=0)printf(YESn);elseprintf(NOn);if

13、(c%27=0)printf(YESn);elseprintf(NOn);if(d%27=0)printf(YESn);elseprintf(NOn);if(e%27=0)printf(YESn);elseprintf(NOn);題目1020:正負(fù)奇偶判斷由鍵盤輸入非零整數(shù)x,判斷該數(shù)正負(fù),正數(shù)輸出positive,負(fù)數(shù)輸出negative,接著判斷該數(shù)的奇偶性,奇數(shù)輸出odd,偶數(shù)輸出even。第一組自測數(shù)據(jù)鍵盤輸入-43正確輸出negativeodd第二組自測數(shù)據(jù)鍵盤輸入798正確輸出positiveeven參照程序:#includemain()intn;scanf(%d,&n);if(n

14、)place=9;elseif(n9999999)place=8;elseif(n999999)place=7;elseif(n99999)place=6;elseif(n9999)place=5;elseif(n999)place=4;elseif(n99)place=3;elseif(n9)place=2;elseplace=1;printf(%ldn,place);1120:判斷點(diǎn)可否在圓上由鍵盤輸入一個點(diǎn)的坐標(biāo),要求編程判斷這個點(diǎn)可否在單位圓上,點(diǎn)在圓上輸出Y,不在圓上輸出N。使用小數(shù)點(diǎn)后3位精度進(jìn)行判斷。第一組自測數(shù)據(jù)鍵盤輸入正確輸出Y第二組自測數(shù)據(jù)鍵盤輸入正確輸出N提示(1)平面上

15、的點(diǎn)與圓的關(guān)系分為在圓內(nèi)、在圓上、在圓外三種,本題要求判斷可否在圓上;(2)判斷兩實數(shù)相等采用判斷這兩實數(shù)的差的絕對值小于規(guī)定誤差精度(本題為)的方法實現(xiàn)。參照程序:#include#includeintmain()floata,b;scanf(%f,%f,&a,&b);if(fabs(a*a+b*b-1)1e-3)12printf(Yn);elseprintf(Nn);實驗5循環(huán)結(jié)構(gòu)程序設(shè)計(一)一、實驗?zāi)康模?)熟悉掌握用while語句、do-while語句和for語句實現(xiàn)循環(huán)的方法。(2)掌握在程序設(shè)計中用循環(huán)實現(xiàn)一些常用算法(如窮舉、迭代、遞推等)。二、實驗內(nèi)容題目1024:計算階乘輸

16、入正整數(shù)n,計算n!,結(jié)果用長整型數(shù)表示(注n!=1*2*3*.*n)第一組自測數(shù)據(jù)鍵盤輸入5正確輸出120第二組自測數(shù)據(jù)鍵盤輸入8正確輸出40320參照程序:#includemain()longi,n=1,a;scanf(%ld,&a);13for(i=1;i=a;i+)n=n*i;printf(%ldn,n);題目1025:計算數(shù)列和有數(shù)列1,3,5,7,9,11,現(xiàn)要求由鍵盤輸入n,計算輸出該數(shù)列的前n項和。第一組自測數(shù)據(jù)鍵盤輸入2正確輸出4第二組自測數(shù)據(jù)鍵盤輸入5正確輸出2510參照程序:#includemain()longn,sum=0,i,t=1;scanf(%ld,&n);for

17、(i=1;i=n;i+)sum=sum+t;t=t+2;printf(%ldn,sum);或#includemain()longn,sum;scanf(%ld,&n);14sum=n*n;printf(%ld,sum);注:評判系統(tǒng)不對程序?qū)崿F(xiàn)細(xì)節(jié)進(jìn)行解析,只對運(yùn)行結(jié)果進(jìn)行評測(考試就未必了)。題目1026:累加一行字符中的數(shù)字由鍵盤輸入一行字符(總字符個數(shù)從1個至80個均有可能,以回車符表示結(jié)束),將其中每個數(shù)字字符所代表的數(shù)值累加起來,輸出結(jié)果。第一組自測數(shù)據(jù)鍵盤輸入abc123正確輸出6第二組自測數(shù)據(jù)鍵盤輸入A6H7T+65正確輸出24提示(1)能夠使用下面程序段逐個讀入鍵盤輸入的一行字

18、符charch;while(ch=getchar()!=n)(2)數(shù)字字符轉(zhuǎn)為對應(yīng)的數(shù)值可用a=ch-0參照程序:#includemain()charc;ints=0,a;while(c=getchar()!=n)if(c=0&cnn:m;for(i=t-1;i=1;i-)if(m%i=0&n%i=0)s=i;break;printf(%d,s);題目1044:輸出最小值從鍵盤輸入十個整數(shù),輸出最小值自測數(shù)據(jù)鍵盤輸入1245768758743559921正確輸出513參照程序:#includemain()16inti,t,min;scanf(%d,&min);for(i=1;i10;i+)sc

19、anf(%d,&t);if(t=A&c=Z)c=c+32;putchar(c);題目1037:計算數(shù)列和17有數(shù)列:編程實現(xiàn),由鍵盤輸入n,計算輸出數(shù)列前n項和。(結(jié)果保留四位小數(shù))第一組自測數(shù)據(jù)鍵盤輸入20正確輸出第二組自測數(shù)據(jù)鍵盤輸入30正確輸出參照程序:#includemain()inti,t,n;floata=2,b=1,s=0;scanf(%d,&n);for(i=1;i=n;i+)s=s+a/b;t=a;a=a+b;b=t;printf(%.4fn,s);題目1031:統(tǒng)計單詞個數(shù)由鍵盤輸入一個句子(總字符個數(shù)從1個至80個均有可能,以回車符表示結(jié)束),以空格切割單詞,要求輸出單詞

20、的個數(shù)。第一組自測數(shù)據(jù)鍵盤輸入HowAreYou正確輸出3第二組自測數(shù)據(jù)鍵盤輸入Therearemanystudentsandmanytrees!正確輸出187參照程序:#includemain()inti,num=0,word=0;charc;for(i=0;(c=getchar()!=n;i+)if(c=)word=0;elseif(word=0)word=1;num+;printf(%d,num);題目1042:百萬富豪一個百萬富豪遇到一個陌生人,陌生人找他談了一個換錢的計劃。該計劃以下:我每天給你m元,而你第一天只需給我一分錢。第二天我仍給你m元,你給我2分錢。第三天,我仍給你m元,你

21、給我4分錢。依次類推,你每天給我的錢是前一天的兩倍,直到一個月(38)天。百萬富豪很高興,欣然接受這個契約?,F(xiàn)要求,編寫一個程序,由鍵盤輸入m,計算多少天后,百萬富豪開始虧錢。第一組自測數(shù)據(jù)鍵盤輸入100正確輸出18第二組自測數(shù)據(jù)鍵盤輸入1000014正確輸出25參照程序:#include#includemain()intn,m,i;scanf(%d,&m);for(i=1;i=0)break;printf(%d,i-1);1519實驗6循環(huán)結(jié)構(gòu)程序設(shè)計(二)一、實驗?zāi)康模?)進(jìn)一步熟悉掌握用while語句、do-while語句和for語句實現(xiàn)循環(huán)的方法。2)掌握在程序設(shè)計中使用多重循環(huán)。二、

22、實驗內(nèi)容題目1035:打印菱形由鍵盤輸入正數(shù)n,要求輸出2*n+1行的菱形圖案。要求菱形左邊緊靠屏幕左邊。第一組自測數(shù)據(jù)鍵盤輸入3正確輸出*第二組自測數(shù)據(jù)鍵盤輸入2正確輸出*16參照程序:#include#includemain()intn,i,j,k;scanf(%d,&n);for(i=1;i=2*n+1;i+)k=abs(n+1-i);for(j=1;j=k;j+)printf();for(j=1;j=2*n+1-2*k;j+)printf(*);printf(n);20題目1137:找到滿足要求的數(shù)字輸出1到9999中能被7整除,而且最少有一個數(shù)字是5的所有數(shù)字。輸出時一行一個數(shù)字,且

23、按由小到大的排序輸出。提示判斷一個數(shù)字中可否有數(shù)字5,第一要掌握拆數(shù)字的方法,一種算法以下:一個整數(shù)a,使用a%10,能夠獲取a的個位數(shù),爾后使用a=a/10,能夠?qū)中的個位數(shù)字除去,上述過程重復(fù)則能夠的到原數(shù)a中其他位上的數(shù)字。參照程序:#includemain()inti,j;for(i=7;i=9999;i=i+7)j=i;while(j!=0)if(j%10=5)break;j=j/10;if(j!=0)printf(%dn,i);題目1038:打印圖案由鍵盤輸入正數(shù)n,要求輸出中間數(shù)字為n的菱形圖案。要求菱形左邊緊靠屏幕左邊。第一組自測數(shù)據(jù)鍵盤輸入4正確輸出112112321123

24、4321123211211第二組自測數(shù)據(jù)鍵盤輸入321正確輸出1121123211211參照程序:includeincludemain()intn,i,j,k,h;scanf(%d,&n);for(i=-n+1;i=n-1;i+)for(j=0;jabs(i);j+)printf();for(k=1;k=1;h-)printf(%d,h);printf(n);實驗7數(shù)組一、實驗?zāi)康?)掌握一維數(shù)組和二維數(shù)組的定義、賦值和輸入輸出方法。2)掌握與數(shù)組有關(guān)的算法。二、實驗內(nèi)容題目1039:倒序由鍵盤輸入10個整數(shù),倒序輸出。(數(shù)字間由一個空格分開)自測數(shù)據(jù)鍵盤輸入70514201929967136

25、6正確輸出661367992192014570參照程序:#includemain()22inta10;inti;for(i=0;i=0;i-)printf(%dn,ai);題目1062:打印矩陣由鍵盤輸入一個34的矩陣,要求輸出它的轉(zhuǎn)置矩陣。自測數(shù)據(jù)鍵盤輸入169311021989參照程序:正確輸出111619908329#includemain()inta34,b43,i,j;for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d,&aij);bji=aij;for(i=0;i4;i+)for(j=0;j3;j+)printf(%d,bij);printf(n);題目104

26、7:冒泡排序由鍵盤輸入10個數(shù),用“冒泡法”對10個數(shù)從小到大排序,并按格式要求輸出。代碼以下,請?zhí)畛渫?3整。數(shù)字間由一個空格分開。#incudemain()inta10,i,j,t;19for(i=0;i10;i+)scanf(%d,_);for(_)for(j=0;j_;j+)if(_)_for(i=0;i10;i+)printf(%d,ai);自測數(shù)據(jù)鍵盤輸入705142019299671366正確輸出251314192066677099參照程序:#includemain()inta10;inti,j,t;for(i=0;i10;i+)scanf(%d,&ai);for(i=0;i9;

27、i+)for(j=0;jaj+1)t=aj;aj=aj+1;aj+1=t;for(i=0;i10;i+)printf(%d,ai);題目1040:統(tǒng)計不相同數(shù)字個數(shù)24由鍵盤輸入20個整數(shù),統(tǒng)計不相同數(shù)字的個數(shù)。自測數(shù)據(jù)鍵盤輸入7051422192996713665934438221139223311正確輸出16提示上述答案中,因為5有1個重復(fù)數(shù)字,11有1個重復(fù)數(shù)字,22有2個重復(fù)數(shù)字,故不相同數(shù)字有16個,分別是70514221929967136693443811393318參照程序:#includemain()inta20;inti,t,p=0;for(i=0;i20;i+)scanf(

28、%d,&ai);for(t=0;t=0;i-)an1-1-i=si-0;gets(s);n2=strlen(s);for(i=n2-1;i=0;i-)bn2-1-i=si-0;if(n1n2)max=n1;elsemax=n2;for(i=0;i0)printf(%d,cmax);for(i=max-1;i=0;i-)printf(%d,ci);題目:找矩陣中的鞍點(diǎn)由鍵盤輸入一個34(3行4列)的矩陣,輸出矩陣中的鞍點(diǎn)(即在矩陣行中最大,列中最小的數(shù))。若沒有鞍點(diǎn),輸出“NO”字樣。自測數(shù)據(jù)鍵盤輸入87901109870972106526984512030正確輸出11021參照程序:#incl

29、udemain()inti,j,k,a34,max,maxj,flag;for(i=0;i3;i+)for(j=0;j4;j+)scanf(%d,&aij);for(i=0;i3;i+)max=ai0;maxj=0;for(j=0;jmax)max=aij;maxj=j;flag=1;for(k=0;kakmaxj)flag=0;break;if(flag)printf(%d,max);break;if(!flag)printf(NO);22實驗8字符數(shù)組的應(yīng)用一、實驗?zāi)康?)掌握字符數(shù)組和字符串函數(shù)的使用。2)掌握與字符串辦理有關(guān)的算法。二、實驗內(nèi)容題目1121:定義存貯字符串的字符數(shù)組在下

30、面程序中填充定義字符數(shù)組的語句,使程序完滿。#includevoidmain()chars80;/*定義字符數(shù)組s*/strcpy(s,abcdefghijklmn);printf(%s,s);參照程序:題目1123:字符串的輸入與輸出27下面程序?qū)崿F(xiàn)從鍵盤讀入字符串,爾后輸出到屏幕,請?zhí)畛浔匾恼Z句。參照程序:#includevoidmain()chars50;printf(Whatsyourname);gets(s);/*由鍵盤讀入字符串*/printf(Yournameis,);printf(%s,s);/*打印字符串*/題目1145:回文串讀入一行字符串(不多于80個字符,以回車結(jié)束)

31、,判斷該字符串可否為回文串(即從左向右拼寫與從右向左拼寫是相同的),是輸出Y,否輸出N。參照程序:#include”#include”main()charc80;inti=0,k,n=0;gets(c);k=strlen(c)-1;for(i=0;ik;i+)if(ci!=ck-i)n=1;break;if(n=1)printf(N);elseprintf(Y);自測數(shù)據(jù):1、輸入2、輸入abaabc輸出輸出YN28題目1122:字符串的合并從鍵盤輸入3個字符串(每個字符串以回車符做為結(jié)束標(biāo)志),將3個字符串以輸入先后序次合并到字符串s中,請?zhí)羁帐褂贸绦蛲隄M。#include#includem

32、ain()chars100=;chara30;gets(a);strcat(s,a);gets(a);strcat(s,a);gets(a);strcat(s,a);/*能夠?qū)懚嘈写a*/printf(%s,s);自測數(shù)據(jù)鍵盤輸入123abc456正確輸出123abc456題目1050:搜尋字符串由鍵盤輸入兩個字符串(假設(shè)第一個字符串必包括第二個字符串,如第一個字符串為ABCDEF,第二個為CDE,則CDE包括在ABCDEF中),現(xiàn)要求編程輸出第二字符串在第一行字符串中出現(xiàn)的地址。(若是第二個字符串在第一個字符串中出現(xiàn)多次,則以最前出現(xiàn)的為準(zhǔn))第一組自測數(shù)據(jù)鍵盤輸入ABCDEFGDE正確輸出4

33、第二組自測數(shù)據(jù)鍵盤輸入hellhello!hello正確輸出529提示方法1:建立雙重循環(huán),外層循環(huán)變量指示第一個串的查找初步地址,內(nèi)層循環(huán)從初步地址開始判斷第二個字符中可否出現(xiàn)在此處;方法2:使用字符串函數(shù)strstr()。參照程序:#includemain()inti,j;chara80,b80;gets(a);gets(b);for(i=0;ai!=0;i+)for(j=0;bj!=0;j+)if(ai+j!=bj)break;if(bj=0)break;if(ai!=0)printf(%d,i+1);elseprintf(NotFound);24實驗9函數(shù)的基本應(yīng)用一、實驗?zāi)康?)掌握

34、定義函數(shù)的方法。2)掌握函數(shù)實參加形參的對應(yīng)關(guān)系,以及“值傳達(dá)”的方式。3)掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用的方法。4)掌握全局變量和局部變量、動向變量、靜態(tài)變量的看法和使用方法。二、實驗內(nèi)容題目1059:函數(shù)定義下面是使用輾轉(zhuǎn)相除法,求最大合約數(shù)的程序,請補(bǔ)充完滿程序中函數(shù)的定義與調(diào)用。#includeintf(intm,intn)intr;while(r=m%n)!=0)m=n;n=r;returnn;main()inta,b,n;30scanf(%d%d,&a,&b);printf(%dn,f(a,b);題目1083:編寫函數(shù)計算階乘下面程序?qū)崿F(xiàn)由鍵盤讀入整數(shù)n,計算并輸出n!,請補(bǔ)充完滿計

35、算階乘的函數(shù)。longfanc(inta)longi,n=1;for(i=1;i=a;i+)n=n*i;returnn;voidmain()intn;scanf(%d,&n);25printf(%ld,fanc(n);題目1124:函數(shù)中的變量寫出下面程序的運(yùn)行結(jié)果:intf1(intx)staticintz=3,y=0;y+;z+;return(x+y+z);main()inta=1,k;for(k=0;k1)fun(i/2);printf(%d,i%2);31main()intn;scanf(%d,&n);fun(n);題目1151:求函數(shù)值輸入x(x為整數(shù)),求以下函數(shù)值。函數(shù)定義以下:

36、F(x)=xF(x)=F(x/3)*2F(x)=F(x-1F(x)=F(x-2第一組自測數(shù)據(jù)鍵盤輸入x小于3大于等于/3)+1x大于等于/3)+2x大于等于3且x為3的倍數(shù)3且x除3余13且x除3余22正確輸出2第二組自測數(shù)據(jù)鍵盤輸入100000正確輸出65提示采用遞歸函數(shù)實現(xiàn)。參照程序:#includeintF(intx)inty;if(x3)y=x;elseif(x%3=0)y=F(x/3)*2;elseif(x%3=1)y=F(x-1)/3)+1;elsey=F(x-2)/3)+2;returny;main()intx;scanf(%d,&x);32printf(%d,F(x);26實驗

37、10指針與結(jié)構(gòu)體一、實驗?zāi)康?)經(jīng)過實驗進(jìn)一步掌握指針的看法,會定義和使用指針變量。2)能正確使用數(shù)組的指針和指向數(shù)組的指針變量。3)能正確使用字符串的指針和指向字符中的指針變量。4)掌握結(jié)構(gòu)體種類變量的定義和使用。二、實驗內(nèi)容題目1091:交換兩數(shù),由大到小輸出下面程序,交換兩數(shù),使兩數(shù)由大到小輸出,請?zhí)羁?includevoidswap(int*p1,int*p2)inttemp;temp=*p1;*p1=*p2;*p2=temp;intmain()inta,b;int*pa,*pb;scanf(%d%d,&a,&b);pa=&a;pb=&b;if(anext=NULL;elsewhile(p0-nump1-num)&(p1-next!=NULL)p2=p1;p1=p1-next;if(p0-numnum)if(head=p1)head=p0;elsep2-next=p0;p0-next=p1;elsep1-next=p0;p0-next=NULL;return(head);題目1099:鏈表的合并有結(jié)構(gòu)體種類定義,structstudentlongnum;/*學(xué)號*/intscore;/*成績*/structstudent*next;/*指針*/;程序第一完成創(chuàng)辦兩個鏈表,要求補(bǔ)充完成實現(xiàn)將第二個鏈表合并到第一個鏈表未尾的

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論