新編C語言程序設(shè)計教程(機(jī)械工業(yè)出版社-錢雪忠-呂瑩楠)
《新編C語言程序設(shè)計教程(機(jī)械工業(yè)出版社-錢雪忠-呂瑩楠)》由會員分享,可在線閱讀,更多相關(guān)《新編C語言程序設(shè)計教程(機(jī)械工業(yè)出版社-錢雪忠-呂瑩楠)(33頁珍藏版)》請在裝配圖網(wǎng)上搜索。
新編C語言程序設(shè)計教程習(xí)題及實驗題部分答案第1章 C 語言概述1 習(xí)題一、選擇題 ADCDB CCBBA二、簡答題1、什么是語言?語言分幾類?各有什么特點?語言:語言是思維的載體。人和計算機(jī)打交道,必須要解決一個“語言”溝通的問題。如今人與計算機(jī)之間有許多種類的“語言”的。語言分類:機(jī)器二進(jìn)制語言、匯編語言(低級)和高級語言(第三代、第四代、)各自特點:1)機(jī)器二進(jìn)制語言:用0、1兩個數(shù)字編寫的計算機(jī)能直接運(yùn)行的程序的語言,機(jī)器語言執(zhí)行效率高,但難編寫、難懂、難移植。2)匯編語言(低級):匯編語言的特點是使用一些“助記符號”來替代那些難懂難記的二進(jìn)制代碼,所以匯編語言相對于機(jī)器指令便于理解和記憶,但它和機(jī)器語言的指令基本上是一一對應(yīng),兩者都是針對特定的計算機(jī)硬件系統(tǒng)的,可移植性差,因此稱它們都是“面向機(jī)器的低級語言”。3)高級語言:高級語言類似自然語言(主要是英語),由專門的符號根據(jù)詞匯規(guī)則構(gòu)成單詞,由單詞根據(jù)句法規(guī)則構(gòu)成語句,每種語句有確切的語義并能由計算機(jī)解釋。高級語言包含許多英語單詞,有“自然化”的特點;高級語言書寫計算式子接近于熟知的數(shù)學(xué)公式的規(guī)則。高級語言與機(jī)器指令完全分離,具有通用性,一條高級語言語句常常相當(dāng)于幾條或幾十條機(jī)器指令。2、匯編語言與高級語言有何區(qū)別?高級語言程序要比匯編語言要易懂、明了、簡短得多;高級語言與機(jī)器指令完全分離,具有通用性,一條高級語言語句常常相當(dāng)于幾條或幾十條機(jī)匯編語言指令;高級語言要經(jīng)過解釋或編譯來執(zhí)行的,而匯編語言程序通過匯編程序來生成機(jī)器程序來執(zhí)行的。3、什么是程序?完成某一特定任務(wù)的一組指令序列,或者說,為實現(xiàn)某一算法的指令序列稱為“程序”。不同計算機(jī)語言有不同的計算機(jī)程序。4、C語言中為何要加注釋語句?注釋部分,起到說明語句或程序的作用。程序中應(yīng)添加必要的注釋,來增強(qiáng)程序的閱讀與理解。注釋用來向用戶提示或解釋程序的意義。在調(diào)試程序中對暫不使用的語句也可用注釋符標(biāo)注起來,使翻譯跳過這些不作處理,待調(diào)試結(jié)束后再按需去掉注釋符。為此,注釋也有調(diào)試的輔助作用。5、說說C語言程序的組成?C語言程序包括由哪些部分?一個C語言函數(shù)一般又由哪幾部分組成的?C語言程序的組成:一個語言源程序可以由一個或多個源程序文件組成。C語言程序的組成部分:1.一個C語言源程序可以由一個或多個源文件組成;2.每個源文件可由一個或多個函數(shù)組成;3.一個源程序不論由多少個文件組成,都有一個且只能有一個main函數(shù),即主函數(shù);4.源程序中可以有預(yù)處理命令(include 命令僅為其中的一種),預(yù)處理命令通常應(yīng)放在源文件或源程序的最前面;5.每一個說明,每一個語句都必須以分號結(jié)尾。但預(yù)處理命令,函數(shù)頭和花括號“”之后不能加分號;6.標(biāo)識符,關(guān)鍵字之間必須至少加一個空格以示間隔。C語言函數(shù):一個C語言函數(shù)通常由函數(shù)首部(如int max(int a,int b))、函數(shù)體組成。函數(shù)體一般又由局部變量定義與函數(shù)聲明等組成的定義與聲明部分、程序執(zhí)行語句等組成的執(zhí)行部分這兩部分組成的(如min函數(shù)所示)。第2章 結(jié)構(gòu)化程序設(shè)計與算法2 習(xí)題一、選擇題BCDCD CBCAD二、簡答題1、什么是算法?算法的特點是什么?什么是算法:算法就是解決某個問題或處理某件事的方法和步驟,在這里所講的算法是專指用計算機(jī)解決某一問題的方法和步驟。算法的特點:1)有窮性人們編制算法的目的就是要解決問題,若該算法無法在一個有限合理的時間內(nèi)完成問題的求解,那么算法也就失去了其原有的目的,人們就會摒棄它。而且人們研究算法,其目的還在于它的高效率,即解決同一個問題的兩個算法,人們往往選擇其中那個運(yùn)行效率高的。2)確定性所謂算法的確定性是指算法的每一個步驟都應(yīng)該確切無誤,沒有歧義性。3)有零個或多個輸入執(zhí)行算法時,有時需要外界提供某些數(shù)據(jù),幫助算法的執(zhí)行。一個算法可以沒有輸入,也可以有多個輸入。例如,求解N!,該算法就需要輸入一個數(shù)據(jù)N;而求解兩數(shù)之和,該算法就需要輸入兩個數(shù)據(jù)4)有一個或多個輸出算法的目的是求解,解就是結(jié)果,就是輸出,否則就毫無意義。5)有效性算法中的每一步都應(yīng)該能有效地執(zhí)行、可以實現(xiàn),執(zhí)行算法最后應(yīng)該能得到確定的結(jié)果。2、結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu)是什么?其共同特點是什么?結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu):順序、選擇、循環(huán)三種基本控制結(jié)構(gòu)其共同特點:1)只有單一的入口和單一的出口;2)結(jié)構(gòu)中的每個部分都有執(zhí)行到的可能;3)結(jié)構(gòu)內(nèi)不存在永不終止的死循環(huán)。3、嘗試用自然語言、流程圖、N-S流程圖或偽代碼寫出下面問題的求解算法。1)根據(jù)三邊,求三角形的周長和面積2)判斷用戶輸入的一個整數(shù)是奇數(shù)還是偶數(shù)3)求解一元二次方程ax2+bx+c=0根4)找出10個數(shù)據(jù)的最大數(shù)5)將20個考生成績中不及格者的分?jǐn)?shù)打印出來6)求S=1+2+3+4+100解:略實驗2 熟悉VC+ 6.0環(huán)境及算法二、實驗內(nèi)容1、改錯題#include main() int x=2,y=3,a; a=x-y; printf(a=%d,a); printf(n); /* 換行 */2、程序填空題#include main() int a,b,m; printf(Input a,b please!n); scanf(%d%d,&a,&b); m=a*b; /*賦值語句,將a和b之積值賦給m*/ printf(a*b=%dn,m); /*輸出a和b積的結(jié)果值并換行 */3、設(shè)計與表示算法判斷一個數(shù)n能否同時被3和5整除。1)用偽代碼表示begin (算法開始) input n if (n/3*3)=n if (n/5*5)=n print “數(shù)n能同時被3和5整除” end (算法結(jié)束)2)用N-S圖表示輸入nn除以3的余數(shù)為0n除以5的余數(shù)為0是 否是 否n能同時被3和5整除n不能同時被3和5整除n不能同時被3和5整除3)用流程圖表示n被3整除開始n不能同時被3和5整除結(jié)束NYn被5整除n能同時被3和5整除NY輸入n4、編程題1)#include void main() printf(How are you!n);2)#include main() int a,b,c,sum; printf(Input a,b,c please!n); scanf(%d%d%d,&a,&b,&c); sum=a*a*a+b*b*b+c*c*c; /*賦值語句,將a和b之積值賦給m*/ printf(a*a*a+b*b*b+c*c*c=%dn,sum); /*輸出a和b積的結(jié)果值并換行 */第3章 數(shù)據(jù)類型及其運(yùn)算3 習(xí)題一、選擇題BADCD DCBCA二、閱讀程序,給出運(yùn)行結(jié)果1、7,8,102、1,33、4、 461579112三、編程題1. (sin(sqrt(x*x)/(a*b)2. 5.53. 3 34. 35. #include void main() char c; c = getchar(); printf(%cn,c); printf(%dn,c); 6. #include int main() float C,F; printf(請輸入一個華氏溫度:); scanf(%f,&F); C = (5.0/9)*(F-32); printf(攝氏溫度C=%5.2fn,C); return 0; 7. #include #include int main() float a; a = exp(3.1415926); printf(%fn,a); return 0; 實驗3 數(shù)據(jù)類型及其運(yùn)算二、實驗內(nèi)容1改錯題#include main() int x,y; printf(請輸入兩個整數(shù)n); scanf(%d%d,&x,&y); printf(互換前的x:%d y:%dn,x,y); x=x+y; y=x-y; x=x-y; printf(互換前的x:%d y:%dn,x,y);2. 程序填空題#include main() int i1,i2,i3,i; printf(Please input i1,i2,i3: ); scanf(%d%d%d,&i1,&i2,&i3); i=i3; /i=i1; /i=i2; i3=i2; /i1=i3; /i2=i1; i2=i1; /i3=i2; /i1=i3; i1=i; /i2=i; /i3=i2; printf(i1=%dni2=%dni3=%dn,i1,i2,i3);3編程題(1)從鍵盤輸入3個大寫英文字母,把它們轉(zhuǎn)換成小寫字母后輸出。該程序的運(yùn)行結(jié)果:ABCabc#include main()char c1,c2,c3;scanf(%c%c%c,&c1,&c2,&c3);c1=c1+32;c2=c2+32;c3=c3+32;printf(%c%c%cn,c1,c2,c3);(2)從鍵盤輸入3個整數(shù),輸出它們的平均值與積。該程序的運(yùn)行結(jié)果:請輸入3個整數(shù)2 4 6ave=4.000000,ji=48#include main()int a,b,c,ji;float ave;printf(請輸入3個整數(shù)n);scanf(%d%d%d,&a,&b,&c); ave=(a+b+c)/3.0;ji=a*b*c; printf(ave=%f,ji=%dn,ave,ji);第4章 順序結(jié)構(gòu)程序設(shè)計4 習(xí)題一、選擇題BBCBC DCBDD二、閱讀程序,給出運(yùn)行結(jié)果1、 x=345 2、 a=1,b=3y=3.460000 a=3,b=13、a=123,f=457三、編程題1.2. 法一:#includeInt main() float x,xf;Int xi;Printf (“請輸入一個實數(shù):”);Scanf(“%f”,&x);Xi=(int)x;Xi=x-xi;Printf(“該數(shù)的整數(shù)部分為:%dn”,xi);Printf(“該數(shù)的小數(shù)部分為:5fn”,xf);Return 0;法二:#includedouble a,b;scanf(%lf,&a);b = a;long int p;p = (long int)a;printf(整數(shù)部分:%dn,p);printf(小數(shù)部分:%lf,(b - p);3.4.5. #include void main( ) float a, b ,h; float area; scanf(%f,%f,%f,&a,&b,&h); area=(a+b)*h/2; printf(梯形的面積為:%5.2fn,area);實驗4 順序結(jié)構(gòu)程序設(shè)計二、實驗內(nèi)容1改錯題下列程序的功能為:按下列公式計算并輸出x的值。其中a和b的值由鍵盤輸入。糾正程序中存在的錯誤,以實現(xiàn)其功能。該程序的運(yùn)行結(jié)果:4,6x=0.480000 #include main() int a,b; float x; scanf(%d,%d,a,b); scanf(%d,%d,&a,&b); x=2ab/(ab)(ab); x=2.0*a*b/(ab)*(ab); printf(x=%dn,x); printf(x=%fn,x); 2.程序填空題下列程序的功能為:設(shè)圓半徑r=1.5,圓柱高h(yuǎn)=3,求圓周長、圓面積、圓球表面積、圓球體積、圓柱體積。用scanf輸入數(shù)據(jù)r、h,輸出計算結(jié)果,輸出時要求有文字說明,取小數(shù)點后位數(shù)字。(周長l=2,圓面積s=,圓球表面積sq=,圓球體積vq=;圓柱體積vz=),請補(bǔ)充完善程序,以實現(xiàn)其功能。#include main()float pi,h,r,ly,sy,sq,vq,vz;pi=3.1415926;printf(請輸入圓半徑r,圓柱高h(yuǎn):n);該程序的運(yùn)行結(jié)果:請輸入圓半徑r,圓柱高h(yuǎn):1.5 3圓周長為:9.42圓面積為:7.07圓球表面積為:28.27圓球體積為:14.14圓柱體積為:21.21scanf(%f%f,&r,&h);ly= 2*pi*r ;sy= pi*r*r ;sq= 4*pi*r*r;vq= 4.0/3*pi*r*r*r;vz= pi*h*r*r;printf(圓周長為:%.2fn,ly);printf(圓面積為:%.2fn, sy);printf(圓球表面積為:%.2fn, sq);printf(圓球體積為:%.2fn, vq);printf(圓柱體積為:%.2fn, vz);3.編程題(1)編寫一個程序?qū)崿F(xiàn)如下功能:從鍵盤輸入3個字符,然后在屏幕上分3行輸出該3個字符。該程序的運(yùn)行結(jié)果:ABCABC#include main() char c1,c2,c3; c1=getchar(); c2=getchar(); c3=getchar(); putchar(c1); putchar(n); putchar(c2); putchar(n); putchar(c3); putchar(n);(2)編寫一個程序?qū)崿F(xiàn)如下功能:輸入一元二次方程ax2+bx+c=0的系數(shù)a、b、c,求方程的根。要求:運(yùn)行該程序時,輸入a、b、c的值,分別使b2-4ac的值大于、等于和小于零,觀察并分析運(yùn)行結(jié)果。求根公式如下: 該程序的運(yùn)行結(jié)果:a=1,b=3,c=2x1=-1.00x2=-2.00.法一:#include #include void main() float a,b,c,disc,x1,x2,p,q; scanf(a=%f,b=%f,c=%f,&a,&b,&c); disc=b*b-4*a*c; p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(x1=%5.2fnx2=%5.2fn,x1,x2);法二:#include #include void main() float a,b,c,disc,x1,x2,p,q; scanf(a=%f,b=%f,c=%f,&a,&b,&c); if (a=0) printf(不是二次方程n); else disc=b*b-4*a*c; if (disc0) printf(無實根n); else if (disc=0) p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(有兩個相同的實根n); printf(x1=%5.2fnx2=%5.2fn,x1,x2); else p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(有兩個不同的實根n); printf(x1=%5.2fnx2=%5.2fn,x1,x2); 第5章 選擇結(jié)構(gòu)程序設(shè)計5 習(xí)題一、選擇題BBCBB CBACB二、閱讀程序?qū)懗鲞\(yùn)行結(jié)果1、-2 2、Yes3、(1)2(2)3CCA=2,b=2,c=44、*& 5、5 3 2三、編程題1. #includeintmain()inta,b;/先判斷a是否大于等于0,如果是的話a=bif(a=0) b=a; /如果不是的話,先對a按位取反,然后再加一else b=a;b=b+1;coutbendl;getchar();2.略3. #include intmain(void) intn; intstatus=1; while(status)printf(輸入:);scanf(%d,&n);switch(n)case0:printf(舞蹈n);break;case1:case3:printf(乒乓球n);break;case 2case4:printf(籃球n);break;case5:printf(保齡球n);break;case6:printf(吉他n);break;default:status=0;return0;實驗5 選擇結(jié)構(gòu)程序設(shè)計二、實驗內(nèi)容1改錯題下列程序的功能為:輸入3個整數(shù)后,輸出其中最大值。請糾正程序中存在錯誤,使程序?qū)崿F(xiàn)其功能。該程序的運(yùn)行結(jié)果:請輸入3個整數(shù):5 2 73個數(shù)中最大者為:7#include stdio.hmain()int a,b,c,max;printf (請輸入3個整數(shù):n);scanf (%d%d%d,&a,&b,&c);max=a;if (cb) if (ba) max=c; /* cba */else /* bc */if (ca) max=b; /* bca */printf(3個數(shù)中最大者為:%dn,max);改正后的程序:#include stdio.hmain()int a,b,c,max;printf (請輸入3個整數(shù):n);scanf (%d%d%d,&a,&b,&c);max=a;if (cb) if (ca) max=c; else if (ba) max=b; printf(3個數(shù)中最大者為:%dn,max);2. 程序填空題#include main() int a,b,d; char ch; printf(Please input a expression:); scanf(%d%c%d,&a,&ch,&b); /*輸入數(shù)學(xué)表達(dá)式*/ switch(ch) case +: d=a+b; printf(%d+%d=%dn,a,b,d); break; case -: d=a-b; printf(%d-%d=%dn,a,b,d); break; case *: d=a*b;printf(%d*%d=%dn,a,b,d); break; case /: if (b=0) printf(Divisor is zeron); else printf(%d/%d=%fn,a,b,(float)a/b); /* 強(qiáng)制類型轉(zhuǎn)換*/ break; default : printf(Input Operator error!n); 3.編程題(1)#includemain()int a,b,c,max,min;float sum,d,e;printf(請輸入三個數(shù):);scanf(%d%d%d,&a,&b,&c);sum=a+b+c;d=sum/3;e=a*b*c;if(ab)max=a;min=b;elsemax=b;min=b;if(maxc)min=c;printf(三個數(shù)的和%.1fn,sum);printf(三個數(shù)的平均值%.2fn,d);printf(三個數(shù)的積%.1fn,e);printf(三個數(shù)中最大值是%dn,max);printf(三個數(shù)中最小值是%dn,min);(2)#includevoid main()float x,y;scanf(%f,&x);if(x5) y=1-x*x*x; else if(x=5) y=x-1; else y=2*x*x-1;printf(x=%0f,y=%0fn,x,y);(3)#includevoid main() int a; printf(input integer number:); scanf(%d,&a); switch(a) case 0:printf(Sundayn);break; case 1:printf(Mondayn);break; case 2:printf(Tuesdayn);break; case 3:printf(Wednesdayn);break; case 4:printf(Thursdayn);break; case 5:printf(Fridayn);break; case 6:printf(Saturdayn);break; default:printf(errorn); 第6章 循環(huán)結(jié)構(gòu)程序設(shè)計6 習(xí)題一、選擇題BCDDA BDBAB BC二、閱讀程序?qū)懗鲞\(yùn)行結(jié)果1、_3,4_2、_6_3、_#_4、_02_5、_18_6、_1_7、_80_8、_輸出一行中含大寫或小寫字母個數(shù)中的大者數(shù)_9、1)5次21 22) 2次13 6 4 43)外循環(huán)2次,內(nèi)2層循環(huán)累計3次,內(nèi)3層循環(huán)累計5次284)外循環(huán)3次,內(nèi)循環(huán)累計4次-1 -10 5三、編程題略實驗6 循環(huán)結(jié)構(gòu)程序設(shè)計二、實驗內(nèi)容1改錯題下列程序的功能為:倒序打印26個英文字母。糾正程序中存在的錯誤,以實現(xiàn)其功能。#include main() char x; x=z; while(x!=a) while(x!=a-1)或while(x=a) printf(%3d,x); printf(%3c,x); x+; x- -; 2. 程序填空題1)#include main() int day,x1,x2; day=0; x1=1020; while (x1) X2=x1/2-2; X1=x2; day+; printf(“day=%dn”,day);2)#include #include main() int i,left,right;char cc80; printf(輸入一個算術(shù)表達(dá)式n); gets(cc); left = 0;right = 0;/left和right分別代表統(tǒng)計的左右括號數(shù) for(i=0;ileft ) break; if (left=right) printf(圓括號配對正確n); else printf(圓括號配對不正確n);三、編程題(1)計算1100之間所有含8的數(shù)之和。參考程序:#include main() int i, sum=0; for(i=1; i=100; i+) if(i%10=8 | i/10=8) sum+=i; printf(sum=%dn,sum);(2)編寫程序,利用下列近似公式計算e值,誤差應(yīng)小于10-5。參考程序:#include main() int i=0 ; long n=1; float e=0, t=1; while(t1e-5) e+=t;i+;n*=i;t=1.0/n; printf(e=%fn,e);(3)某學(xué)校有近千名學(xué)生,在操場上排隊,若5人一行余2人,7人一行余3人,3人一行余1人。編寫程序,求該校的學(xué)生總?cè)藬?shù)。參考程序:#include main() int i; for(i=900;i=1000;i+)if(i%5=2&i%7=3&i%3=1)break;printf(學(xué)生總?cè)藬?shù)=%dn,i); (4)從鍵盤輸入N個學(xué)生的學(xué)號和每人M門課程的成績,計算每個學(xué)生的總分及平均分。輸出內(nèi)容包括每個學(xué)生的學(xué)號、總分和平均分。#includevoid main()int i,j,n,m,no,score,sum;float ave;printf(輸入學(xué)生數(shù)和每人課程數(shù):);scanf(%d%d,&n,&m);for(i=1;i=n;i+) sum=0;printf(輸入第%d個學(xué)生的學(xué)號: ,i);scanf(%d,&no); printf(輸入第%d個學(xué)生的%d門課程成績: ,i,m); for(j=1;j=m;j+) scanf(%d,&score); sum+=score;ave=(float)sum/m; printf(n*第%d個學(xué)生的學(xué)號為:%d 總分為:%d 平均分為:%.2fnn,i,no,sum,ave);第7章 數(shù)組及其應(yīng)用7 習(xí)題一、選擇題DACBC ABDBD二、閱讀程序?qū)懗鲞\(yùn)行結(jié)果1、_4_2、_ Tony _3、_ max=85,min=5,sum=180,aver=30.0_4、_ a=2 b=2 c=2 d=2 e=1 f=2 g=2_5、_j=45_三、編程題1.略2. #includeintmain()inta10;/用來存數(shù)據(jù)inti,j,temp;for(i=0;i10;i+)/輸入10個數(shù)。scanf(%d,&ai);for(j=0;j9;j+)/標(biāo)準(zhǔn)冒泡法排序for(i=0;iai+1)temp=ai;ai=ai+1;ai+1=temp;for(i=0;i10;i+)/輸出。printf(%d,&ai);printf(n);return0;實驗7 數(shù)組及其應(yīng)用二、實驗內(nèi)容1改錯題#include void main() char a8=wel,b=come; int i,n=0; while (an) n+; for(i=0;bi!=0;i+) an+i=bi; an+i=0; /n=0; /while (an) putchar(an);n+; printf(%sn,a);2. 程序填空題#include #include void main() char string20,str320; int i; for (i=0;i0) strcpy(string,str0); else strcpy(string,str1); if (strcmp(str2,string)0) strcpy(string,str2); puts(string);三、編程題(1)從鍵盤輸入10個數(shù),用選擇排序法將其按由大到小的順序排序;然后在排好序的數(shù)列中插入一個數(shù),使數(shù)列保持從大到小的順序。#define N 11#includevoid main() int aN,i,j,k,t,p; printf(請輸入%d 個整數(shù):n,N); for(i=0;iN-1;i+) scanf(%d,&ai); for(i=0;iN-2;i+) /選擇排序 k=i; for(j=i+1;jaj) k=j; if(k!=i) t=ak; ak=ai; ai=t; printf(n排序后:n); for(i=0;i=0 & ajp) /找插入位置 aj+1=aj;j-; aj+1=p; /插入 printf(n插入后:n); for(i=0;iN;i+) printf(%5d,ai); printf(n);(2)從鍵盤輸入兩個矩陣A、B的值,求C=A+B 。#include void main() int a23,b23,c23,i,j; for(i=0;i2;i+) for(j=0;j3; j+) scanf(%d,&aij); for(i=0;i2;i+) for(j =0;j3; j+) scanf(%d,&bij); for(i=0; i2; i+) for(j =0;j3; j+) cij=aij+bij; for( i=0;i2;i+) for(j=0;j3;j+) printf(%3d,cij); printf(n); (3)從鍵盤輸入一個字符串,刪除其中某個字符。如輸入字符串“abcdefededff”,刪除其中的字符e,則輸出的字符串為“abcdfddff”。/方法一:#include#includevoid main()int i,j;char s80,c;printf(輸入一行字符: );gets(s); printf(輸入要刪除字符: );scanf(%c,&c);for(i=0,j=0;si!=0;i+) if (si!=c) sj+=si;sj=0;puts(s);/方法二:#include#includevoid main()char line80 ; char ch; int i,j; int len; printf(輸入一行字符: ); gets(line) ; printf(輸入要刪除字符: ); ch=getchar(); i=0; while(linei!=0 ) while( linei!=0 & linei!=ch) i+; len=strlen(line); for(j=i;jlen-1;j+) linej=linej+1; linej=0; puts(line); 第8章 函數(shù)及其應(yīng)用8 習(xí)題一、選擇題BDDBA DCDBA二、閱讀程序?qū)懗鲞\(yùn)行結(jié)果1、8,172、a=483、_ 2 7 2 1_4、 BASIC C COBOL FORTRAN PASCAL Smalltalk三、編程題實驗8 函數(shù)及其應(yīng)用二、實驗內(nèi)容1改錯題#include #include #define ARR_SIZE 80void Inverse(char str);main() char aARR_SIZE; printf(Please enter a string:); gets(a); Inverse(a); printf(The inversed string is :); puts(a);void Inverse(char str) int len,i=0,j; char temp; len=strlen(str); for(j=len-1;ij;i+,j-) temp=stri; stri=strj; strj=temp; 2. 程序填空題#include #include #define MAX 100 /MAX 200void Insert(char s);main() char stringMAX; scanf(%s,string); Insert(string); printf(%s,string);void Insert(char srcStr) char strTempMAX; int i=0,j=0; strcpy(strTemp,srcStr); while(strTempj) srcStri=strTempj; i+; j+; srcStri= ; i+; srcStri=0;三、編程題(1)從鍵盤任意輸入10個整數(shù),用函數(shù)編程實現(xiàn)將其中最大數(shù)與最小數(shù)的位置對換后,再輸出調(diào)整后的數(shù)組。#include#define N 10void EXmaxmin(int a,int n) /求最大數(shù)和最小數(shù) int i,j=0,k=0,t; int max,min; max=a0; min=a0; for(i=1;in;i+) if(maxai) min=ai; k=i; t=aj; aj=ak; ak=t;void main() int i; int aN; printf(請輸入%d個整數(shù):,N); for(i=0;iN;i+) scanf(%d,&ai); printf(調(diào)整前的數(shù)組元素為:); for(i=0;iN;i+) printf(%5d,ai); printf(n); EXmaxmin(a,N); printf(調(diào)整后的數(shù)組元素為:); for(i=0;iN;i+) printf(%5d,ai); (2)編寫一函數(shù),判斷一字符串是否為回文。所謂“回文”是指順讀和倒讀都一樣的字符串,如“deed”和“l(fā)evel”是回文。在主函數(shù)中對輸入的5個字符串統(tǒng)計其中回文的個數(shù)。#include #include int function(char x) int i; int y=strlen(x); for(i=0;iy/2;i+) if(xi!=xl-i-1) return 0; return 1; void main() char s100; int count=0,i; for(i=1;i=5;i+) printf(輸入第%d個字符串:,i); scanf(%s,s); if(function(s) printf(%s是回文n,s);count+; else printf(%s不是回文n,s); printf(共有回文%d個n,count);(3)編寫函數(shù),實現(xiàn)將一個十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)。#include int n=0;void tentotwo(int number,int b ) while(number) bn=number%2; number=number/2; n+; void main(void) int inumber; int a20,i; printf(please input nunber: ); scanf(%d,&inumber); printf(n); tentotwo(inumber,a ); for(i=n-1;i=0;i-) printf(%d,ai); printf(n); 第9章 指針及其應(yīng)用9 習(xí)題一、選擇題BACDB CACAC DCDAC 二、閱讀程序?qū)懗鲞\(yùn)行結(jié)果1、 22、第一行是:_1 5 3_;第二行是:_3 9 7_。3、 2 44、abcDDfefDbD5、536、三、編程題實驗9 指針及其應(yīng)用二、實驗內(nèi)容1改錯題#include int len(char s- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
15 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 新編 語言程序設(shè)計 教程 機(jī)械 工業(yè)出版社 錢雪忠 呂瑩楠
鏈接地址:http://www.szxfmmzy.com/p-10844982.html