![09英才班 C語言上機練習題1_第1頁](http://file4.renrendoc.com/view/2090442f0b4ce1caa8c38250cfb900b0/2090442f0b4ce1caa8c38250cfb900b01.gif)
![09英才班 C語言上機練習題1_第2頁](http://file4.renrendoc.com/view/2090442f0b4ce1caa8c38250cfb900b0/2090442f0b4ce1caa8c38250cfb900b02.gif)
![09英才班 C語言上機練習題1_第3頁](http://file4.renrendoc.com/view/2090442f0b4ce1caa8c38250cfb900b0/2090442f0b4ce1caa8c38250cfb900b03.gif)
![09英才班 C語言上機練習題1_第4頁](http://file4.renrendoc.com/view/2090442f0b4ce1caa8c38250cfb900b0/2090442f0b4ce1caa8c38250cfb900b04.gif)
![09英才班 C語言上機練習題1_第5頁](http://file4.renrendoc.com/view/2090442f0b4ce1caa8c38250cfb900b0/2090442f0b4ce1caa8c38250cfb900b05.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言上機練習題1第一次程序請寫在實驗報告中,所有同學都要在下課之前交上本次實驗報告;同時抽點若干位同學,觀看程序運行結果。實驗報告和觀看結果綜合作為每次實驗課程的分數(shù)。若某次題目沒有做完,需在下次實驗報告中補上完整程序。采取個人上機,分組討論(自由分組,點名分組)形式。實驗課成績與期末考試成績綜合評定本課程最終成績。2本次要求必答題:教材習題1.9,2.22。附加題:若上述2題均已做完,請做下面, 附加題作為平時成績加分參考。 (1)輸入任意一整數(shù),輸出其絕對值 (2)輸入兩個數(shù)x和y,x能被y整除則顯示yes,反之顯示no (3)求一元二次方程ax2+bx+c=0的實根3實驗報告內容實驗項
2、目名稱:簡單程序設計實驗目的:掌握在VC+/TC環(huán)境下編輯,編譯,連接和運行C程序的方法和過程實驗原理:C語言的一般特點,如標準輸入輸出,各種表達式的運用等實驗內容:教材習題實驗器材:PC機實驗步驟及操作:4附加題1:輸入任意一整數(shù),輸出其絕對值1 #include2 void main()3 int x,y;4 scanf(“%d”,&x);5 y=x;6 if(x0)7 y=-x;8 printf(“x=%d,|x|=%dn”,x,y);9 5附加題2:輸入兩個數(shù)x和y,x能被y整除則顯示yes,反之顯示no1 #include 2 void main()3 int x,y; 4 prin
3、tf(“input x,y:”);5 scanf(“%d,%d”,&x,&y);6 if(x%y)7 printf(“NO”);8 else9 printf(“YES”);10 6附加題3:求一元二次方程ax2+bx+c=0的根 #include #include main() float a,b,c,d,a2,x1,x2; printf(“Input a,b,cn”); scanf(“%f,%f,%f”,&a,&b,&c); if(a=0) x1=-c/b; printf(“root=%fn”,x1); else d=b*b-4*a*c; a2=2*a; x1=-b/a2; 7 if(d=0
4、) x2=sqrt(d)/a2; printf(“real root:n”); printf(“root1=%f,root2=%fn”,x1+x2,x1-x2); else x2=sqrt(-d)/a2; printf(“complex root:n”); printf(“root1=%f+%fin”,x1,x2); printf(“root2=%f-%fin”,x1,x2); 8本次要求程序請寫在實驗報告中,所有同學都要在下課之前交上本次實驗報告。請注意:因實驗中心要求21:50準時下課,否則超時電腦將被關閉,所以請同學們務必把握好時間,在21:50之前把本次實驗報告交上來(基本要求不包括附
5、加題)。9實驗報告內容實驗項目名稱:控制語句的應用實驗目的:掌握順序、分支、循環(huán)結構各種語句的一般功能和執(zhí)行過程實驗原理:for語句、while語句、do while、do while語句等基本用法實驗內容:教材習題實驗器材:PC機實驗步驟及操作:具體的程序代碼10本次要求必答題:教材習題2.23,2.24。附加題: (1)從鍵盤輸入帶有三位小數(shù)的實數(shù),編制程序將該數(shù)的第三位小數(shù)以四舍五入的形式去掉。 (2)編寫程序,輸入三角形的三個邊長A,B,C,求三角形的面積S (3)求代數(shù)和 s=1-1/2+1/3-1/4+-1/10011附加題1:從鍵盤輸入帶有三位小數(shù)的實數(shù),編制程序將該數(shù)的第三位小
6、數(shù)以四舍五入的形式去掉程序設計思路本題要用到取整函數(shù):floor(x)floor(x)為計算不大于x的最大整數(shù),結果為double型為了實現(xiàn)對小數(shù)點后第三位四舍五入,首先將輸入的x乘100,再加0.5后作為floor的自變量,最后再除100,即得所需結果12#include#include main() double a,b; printf(“Input real an”); scanf(“%lf”,&a); b=floor(a*100+0.5)/100; printf(“b=%.2fn”,b); 13附加題3:求和 s=1-1/2+1/3-1/4+-1/100程序設計思路: 設置k循環(huán)k=1
7、,2,100,k作為每一項的分母, 當k為奇數(shù)時,即滿足k%2=1時,實施s+=1.0/k 其他即當k為偶數(shù)時,實施s-=1.0/k14 #include main() int k,n; float s=0; for(k=1;k=100;k+) if(k%2=1) s+=1.0/k; else s-=1.0/k; printf(“s=%9.6f”,s); 15#include #include /*利用海倫公式求解*/ void main() float a,b,c,Area,p;/*a,b,c代表邊長,Area代表面積,p代表三邊之和的平均值*/ printf(Please input th
8、e lengths of triangles three edges); printf(n); scanf(%f,%f,%f,&a,&b,&c);/*輸入數(shù)據(jù)用,隔開*/ p=(a+b+c)/2; Area=sqrt(p*(p-a)*(p-b)*(p-c); printf(The edge lengths you typied are:n); printf(a=%f b=%f c=%fn,a,b,c); printf(The area is:%fn,Area); 16 #include #include float area(float,float,float); void main() fl
9、oat a,b,c; printf(請輸入三角形的三個邊長值:n) scanf(%f,%f,%f,&a,&b,&c); if(a+bc&a+cb&b+ca&a0.0&b0.0&c0.0) printf(Area=%-7.2fn,area(a,b,c); 17/* 以下是計算任意三角形面積的函數(shù) */ float area(float a,float b,float c) float s,area_s; s=(a+b+c)/2.0; area_s=sqrt(s*(s-a)*(s-b)*(s-c); return(area_s); 18#include #includefloat TriArea(
10、float a,float b,float c)float p,area; p=(a+b+c)/2;area=sqrt(p*(p-a)*(p-b)*(p-c);return area;void main()float a,b,c,Area;printf(Please input the lengths of triangles three edges);printf(n);scanf(%f,%f,%f,&a,&b,&c);Area=TriArea(a,b,c);printf(The edge lengths you typied are:n);printf(a=%f b=%f c=%fn,a,
11、b,c);printf(The area is:%fn,Area);19實驗報告內容實驗項目名稱:控制語句的應用實驗目的:掌握順序、分支、循環(huán)結構各種語句的一般功能和執(zhí)行過程實驗原理:for語句、while語句、do while、do while語句等基本用法實驗內容:教材習題實驗器材:PC機實驗步驟及操作:具體的程序代碼20本次要求必答題:教材習題3.4,3.16。附加題:若上述2題均已做完,請做下面, 附加題作為平時成績加分參考。 (1)求和: (2)編寫程序計算用5元、2元和1元3種零幣兌換100元整幣的不同零兌種數(shù) (3)水仙花數(shù):一個三位數(shù)的各位數(shù)字的立方和等于該三位數(shù),如153=1
12、3+53+33,求所有的水仙花數(shù); 玫瑰花數(shù):一個四位數(shù)的各位數(shù)字的四次方和等于該四位數(shù),如1634=14+64+34+44 ,求所有的玫瑰花數(shù)。21水仙花數(shù)main()int i,j,k,n; for(n=100;n1000;n+) i=n/100;j=(n/10)%10;k=n%10; if(n=i*i*i+j*j*j+k*k*k) printf(“%d”,n); 22水仙花數(shù)main() int i,j,k,n; for(i=1;i10;i+) for(j=0;j10;j+) for(k=0;k10;k+) n=i*100+j*10+k; if(n=i*i*i+j*j*j+k*k*k)
13、printf(“%d”,n); 23編寫程序計算用5元、2元和1元3種零幣兌換100元整幣的不同零兌種數(shù)1 #include 2 void main()3 int x,f,t,n;4 x=0;5 for(t=0;t=50;t+) /* 變量t為2元幣的張數(shù)*/6 for(f=0;f=0) x+; /* 變量n為非負時,用x統(tǒng)計兌零種數(shù) */9 printf(%d,x);10 24為減少無效循環(huán),將第6行進一步精簡:1 #include 2 void main()3 int x,f,t,n;4 x=0;5 for(t=0;t=50;t+) /* 變量t為2元幣的張數(shù)*/6 for(f=0;f=0
14、) x+; /* 變量n為非負時,用x統(tǒng)計兌零種數(shù) */9 printf(%d,x);10 25程序設計思路和式的每一項分母為階乘在i循環(huán)中設置變量t通過t=t*i實現(xiàn)階乘然后通過s=s+1.0/t實現(xiàn)求和26main() int i,n;long t; float s=1; scanf(“%d”,&n); t=1; for(i=1;i=n;i+) t=t*i; s=s+1.0/t; printf(“s=%8.6fn”,s);27必答題:教材習題3.7,3.8。附加題:1、張邱建算經中有題:今有雞翁一值錢五,雞母一值錢三,雞雛一值錢一。凡百錢買雞百只,問雞翁、母、雛各幾何?2、滿足 的正整數(shù)x
15、,y,z稱為倒勾股數(shù),求30,100之間所有的倒勾股數(shù)3、倍反序數(shù):若一個四位整數(shù)n的4倍恰好是其反序數(shù),稱n為四位4倍反序數(shù)(如2178就是一個)。試求出所有四位4倍反序數(shù)。28必答題2:張邱建算經中有題:今有雞翁一值錢五,雞母一值錢三,雞雛一值錢一。凡百錢買雞百只,問雞翁、母、雛各幾何?本題實際是求解一個不定方程組;設雞翁、母、雛數(shù)分別為x,y,z,根據(jù)題意可得到方程組:設置三重循環(huán)對x,y,z進行窮舉。要注意,根據(jù)z/3可知z必須為3的整數(shù)倍。判斷若同時滿足以上兩個方程式,打印輸出方程的解。 291 #include 2 void main()3 int x,y,z;4 for(x=1;
16、x=19;x+)5 for(y=1;y=33;y+)6 for(z=1;zz, yz。為避免重復,不妨設xyz。在指定區(qū)間a,b上根據(jù)x,y,z的大小關系設置3重循環(huán):z從a,b-2,y從z+1,b-1,x從y+1,b;對每一組x,y,z如果直接應用條件式做判別,會因分數(shù)計算不可避免的誤差而造成結果的遺失,若通分后整理得到如下等式: 則可以避免遺漏的發(fā)生。311 #include 2 void main()3 long a,b,x,y,z,n=0;4 scanf(“%ld,%ld”,&a,&b);5 printf(“在%ld,%ld范圍內,倒立勾股數(shù)組有:n”,a,b);6 for(z=a;z
17、yz,三重循環(huán)判別 */7 for(y=z+1;y=b-1;y+)8 for(x=y+1;x=b;x+)9 if(x*x+y*y)*z*z=x*x*y*y)10 n+; printf(“第%ld組:”,n); 11 printf(“%ld,%ld,%ldn”,x,y,z); 12 32倍反序數(shù)設置n循環(huán)窮舉四位數(shù)關鍵是如何求四位數(shù)n的反序數(shù)m設置k循環(huán),循環(huán)4次每次實施m=m*10+t%10,t=t/10其中m取初值0,t取初值n33倍反序數(shù)void main() int n,k,t,m,j=0; for(n=1000;n=9999;n+) m=0;t=n; for(k=1;k=4;k+) m
18、=m*10+t%10;t=t/10; if(m=4*n) j+;printf(“%dn”,n); printf(“共%d個解。n”,j);34必答題:教材習題4.5 附加題: 優(yōu)美乘積:在等式 中,若數(shù)字0,1,2,3,4,5,6,7,8,9在a,b,c這個數(shù)中出現(xiàn)一次且只出現(xiàn)一次,稱這樣的等式為優(yōu)美乘積式。例如 , , 都是優(yōu)美乘積式。設計程序求出所有優(yōu)美乘積式,并統(tǒng)計優(yōu)美乘積式的個數(shù)。35期中考試必答題1:求一個3*3矩陣對角線元素之和(提示:利用雙重for循環(huán)控制輸入二維數(shù)組,再將aii累加后輸出)必答題2:有1、2、3、4個數(shù)字,能組成多少個互不相同且無重復數(shù)字的三位數(shù)?這些數(shù)分別是多
19、少?必答題3:今有五羊四犬三雞二兔值錢一千四百九十六,四羊二犬六雞三兔值錢一千一百七十五,三羊一犬七雞五兔值錢九百五十八,二羊三犬五雞一兔值錢八百六十一。問羊犬雞兔各幾何?(選自九章算術)必答題4:將一個正整數(shù)分解質因數(shù)。例如:輸入90,打印出90=2*3*3*5附加題: 一個頑猴在一座有30級臺階的小山上爬山跳躍,上山一步可跳1級或3級,求上山有多少種不同跳法。(提示:利用數(shù)組,同時找到遞推關系)36附加題:優(yōu)美乘積 在等式 中,若數(shù)字0,1,2,3,4,5,6,7, 8,9 在a,b,c這個數(shù)中出現(xiàn)一次且只出現(xiàn)一次,稱這樣的 等式為優(yōu)美乘積式。例如 和 都是優(yōu)美乘積式。設計程序求出 所有優(yōu)
20、美乘積式,并統(tǒng)計優(yōu)美乘積式的個數(shù)。分析:(1)對于a*b=c(ab),a,b,c共10位數(shù)字,可知a為1位或2位數(shù),b為3位或4位數(shù),設置循環(huán)對a,b實施窮舉,對每一組a,b,由c=a*b確定c;37附加題:優(yōu)美乘積 在等式 中,若數(shù)字0,1,2,3,4,5,6,7, 8,9在a,b,c這3 個數(shù)中出現(xiàn)一次且只出現(xiàn)一次,稱這樣的等式為優(yōu)美乘積式。 例如 和 都是優(yōu)美乘積式。設 計程序求出所有優(yōu)美乘積式,并統(tǒng)計優(yōu)美乘積式的個數(shù)。分析:(2)關鍵在于判斷10個數(shù)字在a,b,c中各出現(xiàn)一次,不重復也無遺 漏??梢园衙恳唤Ma,b,c分離轉化為單個數(shù)字x,設置數(shù)組f(x) 統(tǒng)計數(shù)字x的各數(shù)。檢驗當x=0
21、,1,2時,若f(x)=1都成立,說 明那個數(shù)字0-9有且僅有出現(xiàn)一次;(3)為了方便循環(huán)處理,設置m3數(shù)組存放a,b,c.381 #include 2 void main()3 long int x,y,t,i,k,m4,f11,a,b,c,n=0;4 for(a=2;a=98;a+)5 for(b=102;b=9876;b+) /* 對a,b進行窮舉*/6 c=a*b; m1=a;m2=b;m3=c;7 for(i=0;i=9;i+) fi=0;8 for(k=1;k0)11 x=y%10;fx=fx+1;y=y/10; /*分離數(shù)字,f數(shù)組統(tǒng)計*/12 for(t=0,i=0;i=9;i
22、+)13 if(fi!=1) t=1; /*檢驗數(shù)字0-9各只出現(xiàn)一次*/14 if(t=0)15 printf(“%3ld*%4ld=%5ld”,a,b,c); n+; /*用n統(tǒng)計個數(shù)*/16 if(n%4=0) printf(“n”,n);17 printf(“n n=%d n”,n); 39求一個3*3矩陣對角線元素之和main() float a33,sum=0; int i,j; printf(please input rectangle element:n); for(i=0;i3;i+) for(j=0;j3;j+) scanf(%f,&aij); for(i=0;i3;i+)
23、 sum=sum+aii; printf(duijiaoxian he is %6.2f,sum);401、2、3、4個數(shù)字,能組成多少個互不相同且無重復數(shù)字的三位數(shù)?數(shù)分別是多少? main() int i,j,k; printf(n); for(i=1;i5;i+)*以下為三重循環(huán)*/ for(j=1;j5;j+) for (k=1;k5;k+) if (i!=k&i!=j&j!=k) /*確保i、j、k三位互不相同*/ printf(%d,%d,%dn,i,j,k); 41今有五羊四犬三雞二兔值錢一千四百九十六,四羊二犬六雞三兔值錢一千一百七十五,三羊一犬七雞五兔值錢九百五十八,二羊三犬
24、五雞一兔值錢八百六十一。問羊犬雞兔各幾何?main() int x,y,z,u; for(x=1;x=1496/5;x+) for(z=1;z=(958-3*x)/7;z+) for(u=1;u=(958-3*x-7*z)/5;u+) y=958-3*x-7*z-5*u; if(y0) break; if(5*x+4*y+3*z+2*u=1496&4*x+2*y+6*z+3*u=1175) if(2*x+3*y+5*z+u=861) printf(“方程組的整數(shù)解為:n”); printf(“ x=%d y=%d z=%d u=%dn”,x,y,z,u); 42將一個正整數(shù)分解質因數(shù)。例如:輸
25、入90,打印出90=2*3*3*5程序分析:對n進行分解質因數(shù),應先找到一個最小的質數(shù)k,然后按下述步驟完成: (1)如果這個質數(shù)恰等于n,則說明分解質因數(shù)的過程已經結束,打印出即可。 (2)如果nk,但n能被k整除,則應打印出k的值,并用n除以k的商,作為新的正整數(shù)n,重復執(zhí)行第一步。 (3)如果n不能被k整除,則用k+1作為k的值,重復執(zhí)行第一步。43 main() int n,i; printf(nplease input a number:n); scanf(%d,&n); printf(%d=,n); for(i=2;i=n;i+) while(n!=i) if(n%i=0) pri
26、ntf(%d*,i); n=n/i; else break; printf(%d,n);44一個頑猴在一座有30級臺階的小山上爬山跳躍,上山一步可跳1級或3級,求上山有多少種不同跳法采用數(shù)組遞推求解。遞推可以這樣理解:上山最后一步到達第30級臺階可完成上山,共有f(30)中不同的爬法;到第30級之前位于哪一級呢?無非是第29級(上跳1級即到),有f(29)種;或位于第27級(上跳3級即到),有f(27)種,于是有f(30)=f(29)+f(27);其余關系可以此類推,得到一般的遞推關系: f(k)=f(k-1)+f(k-3);初始條件顯然有:f(1)=1,f(2)=1,f(3)=2.45 #i
27、nclude void main() int k,n;long f1000; printf(請輸入臺階總數(shù)n:); scanf(%d,&n); f1=1;f2=1;f3=2; /* 數(shù)組元素賦初值 */ for(k=4;k=n;k+) fk=fk-1+fk-3; /* 按遞推關系實施遞推 */ printf(s=%ld,fn); 46本次要求 (1)楊輝三角,歷史悠久,是我國古代數(shù)學家楊輝揭示二項式展開式各項的系數(shù)的數(shù)字三角形,奧妙無窮:每一行的首尾兩數(shù)均為1,第k行共k個數(shù),除首尾兩數(shù)外,其余各數(shù)均為上一行的肩上兩數(shù)之和。示圖是4行楊輝三角形。請設計程序,打印楊輝三角形的前n行(n從鍵盤輸入
28、)。(提示:采用二維數(shù)組)例子 1 1 11 2 1 1 3 3 147設置二維數(shù)組a(n,n),根據(jù)構成規(guī)律實施遞推:初始值:a(i,1)=a(i,i)=1 (i=1,2,n)遞推式:a(i,j)=a(i-1,j-1)+a(i-1,j) (i=3,n,j=2,i-1)為了打印輸出左右對稱的等腰數(shù)字三角形,設置二重循環(huán):i控制打印n行,每一行開始換行,打印40-3i個空格;設置j循環(huán)控制打印第i行的i個數(shù)組元素aij. 1 1 11 2 1 1 3 3 1481 #include 2 void main()3 int n,i,j,k,a2020;4 printf(請輸入楊輝三角形的行數(shù):);5
29、 scanf(%d,&n);6 for(i=1;i=n;i+)7 ai1=1;aii=1; /*確定初始條件*/8 for(i=3;i=n;i+)9 for(j=2;j=i-1;j+)10 aij=ai-1j-1+ai-1j; /*遞推得元素*/11 for(i=1;i=n;i+) /控制輸出n行/12 13 printf(n);14 for(k=1;k=40-3*i;k+) printf( );15 for(j=1;j=1,n=1中由小到大排列的第30項及前30項之和。(3)某個公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10
30、的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。50main() int k,n,long a,b,s,f100; printf(“求數(shù)列的第n項與前n項之和,請輸入n:”); scanf(“%d”,&n); a=2;b=3;s=0; for(k=1;k=n;k+) if(ab) fk=a;a=a*2; /用2的冪給fk賦值/ else fk=b;b=b*3; /用3的冪給fk賦值/ s+=fk; printf(“數(shù)列的第%d項為:%ldn”,n,fn); printf(“數(shù)列的前%d項之和為:%ld”,n,s);51 main() int a,i,aa4,t; scanf(%d
31、,&a); aa0=a%10; aa1=a%100/10; aa2=a%1000/100; aa3=a/1000; for(i=0;i=3;i+) aai+=5; aai%=10; for(i=0;i=0;i-) printf(%d,aai);52海灘上有一堆桃子,五只猴子來分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個,這只猴子把多的一個扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個,它同樣把多的一個扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個桃子?53main()int i,m,j,k,count;for(i=4;i10000;
32、i+=4) count=0;m=i;for(k=0;k5;k+)j=i/4*5+1;i=j;if(j%4=0)count+;elsebreak;i=m;if(count=4)printf(%dn,count);break;54有n個人圍成一圈,順序排號。從第一個人開始報數(shù)(從1到3報數(shù)),凡報到3的人退出圈子,問最后留下的是原來第幾號的那位。55#define nmax 50main()int i,k,m,n,numnmax,*p;printf(please input the total of numbers:);scanf(%d,&n);p=num;for(i=0;in;i+)*(p+i)
33、=i+1;i=0;k=0;m=0;while(mn-1)56if(*(p+i)!=0) k+;if(k=3) *(p+i)=0;k=0;m+;i+;if(i=n) i=0;while(*p=0) p+;printf(%d is leftn,*p);57本次要求必答題: (1)教材習題5.9和5.11 (2)編寫程序實現(xiàn)用多種方法輸入輸出數(shù)組中的 所有元素的值 (3) x=x+1,x+=1,x+,哪種寫法效率最高? 為什么? (4)編寫函數(shù)fun(),其功能是刪除一個字符串中 的所有空格。例如,輸入字符串“The string is:”,則應輸出“Thestringis:”58下標表示法void
34、 main() int a8,i; for(i=0;i8;i+) scanf(%d,&ai); for(i=0;i8;i+) printf(%d ,ai); printf(n);59地址表示法void main() int a8,i; for(i=0;i8;i+) scanf(%d,a+i); for(i=0;i8;i+) printf(%d ,*(a+i); printf(n);60指針表示法void main() int a8,i,*p; p=&a0; for(i=0;i8;i+) scanf(%d,p+i); while(pa+8) printf(%d ,*p+); printf(n);
35、61x=x+1,x+=1,x+,哪個效率最高?x=x+1最低 (1)讀取右x的地址 (2)x+1 (3)讀取左x的地址 (4)將右值傳給左邊的x(編譯器并不認為左右x的地址相同)x+=1其次 (1)讀取右x的地址 (2)x+1 (3)將得到的值傳給x(因為x的地址已經讀出)x+效率最高 (1)讀取右x的地址 (2)x自增162編寫函數(shù)fun(),其功能是刪除一個字符串中的所有空格。例如,輸入字符串“The string is:”,則應輸出“Thestringis:”程序思路:本題涉及字符串與返回指針的函數(shù)。分析函數(shù)fun()中的參數(shù)和返回值,該函數(shù)的返回值是一個指針(就函數(shù)的功能看,一定是處理
36、之后的字符串);可以通過一個指針在str中由前到后移動,每次移動一個字符位,判斷其是否為空格。若是,則將其刪除,否則不變;要刪除一個空格的操作,比較快速的方法是使用strcpy()函數(shù),也可以循環(huán)逐個將后續(xù)字符賦予前一個元素。63用自然語言表示的算法(1) char *p=str,*n(2) *p?是,則繼續(xù)下一步;否則,轉(10)(3) *p=?是,則繼續(xù)下一步;否則,轉(9)(4) n=p(5) *(n+1)?是,則繼續(xù)下一步;否則,轉(8)(6) *n=*(n+1)(7) n+,轉(5)(8) *n=0,轉(2)(9) p+,轉(2)(10) Return str64程序1 #inclu
37、de2 #include3 #include4 char *fun(char *str)5 char *p=str,*n;6 while(*p)7 if(*p=)8 n=p;9 while(*(n+1)10 *n=*(n+1); n+;11 *n=0;12 13 else p+;14 15 return str;16 17 void main()18 char s100,*ds;19 clrscr(); 20 printf(“nPlease enter a string:”);21 gets(s);22 ds=fun(s);23 printf(“nResult:%sn”,ds); 65本次要求必答題: (1)教材習題6.5和6.10 (2)用函數(shù)調用方式編程求四則運算a/b+d/c, a/b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2025學年高中歷史 第一單元 古代中國經濟的基本結構與特點 第1課 發(fā)達的古代農業(yè)新課說課稿1 新人教版必修2
- Unit 4 There are seven days in a week. Lesson 19(說課稿)-2023-2024學年人教精通版英語四年級下冊
- Unit 1 Teenage Life Listening and Speaking 說課稿 -2024-2025學年高中英語人教版2019 必修第一冊001
- 2024年春七年級語文下冊 第3單元 10 老王說課稿 新人教版
- Unit 5 Working the Land Reading and thinking 說課稿-2024-2025學年高二英語人教版(2019)選擇性必修第一冊
- 農田整改合同范本
- 作品出版合同范例
- 鄭州水泥化糞池施工方案
- 關于活動執(zhí)行合同范本
- 加盟區(qū)域保護合同范例
- 測繪工程產品價格表匯編
- 拘留所教育課件02
- 語言和語言學課件
- 《工作場所安全使用化學品規(guī)定》
- 裝飾圖案設計-裝飾圖案的形式課件
- 2022年菏澤醫(yī)學??茖W校單招綜合素質考試筆試試題及答案解析
- 護理學基礎教案導尿術catheterization
- ICU護理工作流程
- 廣東版高中信息技術教案(全套)
- 市政工程設施養(yǎng)護維修估算指標
- 分布式光伏屋頂調查表
評論
0/150
提交評論