版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 習(xí)題1</b></p><p><b> 1-1 填空題</b></p><p><b> 1. 函數(shù)</b></p><p> 2. 主函數(shù)main(),主函數(shù)main()</p><p> 3. 主函數(shù)main()</p>
2、<p> 4. 函數(shù)首部,函數(shù)體</p><p><b> 5. {, }</b></p><p><b> 6. /*, */</b></p><p> 7. 順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)</p><p> 8. .c, .obj, .exe</p><p
3、><b> 1-2 思考題</b></p><p> 1. 結(jié)構(gòu)化程序設(shè)計是指:為使程序具有一個合理的結(jié)構(gòu)以保證程序正確性而規(guī)定的一套如何進行程序設(shè)計的原則。其基本結(jié)構(gòu)包括順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)三種。</p><p> 2. 算法是對具體問題求解步驟的一種描述。計算機算法的表達(dá)工具通常采用以下幾種方法:(1)用自然語言表示算(2)用流程圖表示算法(3
4、)用偽代碼表示算法(4)用程序設(shè)計語言表示算法</p><p> 3. 語言簡潔、緊湊,使用方便、靈活; 支持結(jié)構(gòu)化程序設(shè)計;運算符豐富;數(shù)據(jù)類型豐富;較強的編譯預(yù)處理功能;C語言的可移植性好;C語言本身既有一般高級語言的優(yōu)點,又有低級(匯編)語言的特點;語法限制不太嚴(yán)格,程序設(shè)計自由度大。</p><p><b> 1-3 編程題</b></p>
5、<p> 1. 試參照本章例題編寫計算梯形面積的C語言程序,梯形的上底、下底和高分別用a,b,h表示,并用a=10,b=20,h=5測試所編寫的程序。</p><p> #include "stdio.h"</p><p><b> main()</b></p><p> { float a, b, h,
6、s;</p><p> a=10; b=20;</p><p> h=5; s=(a+b)*h/2;</p><p> printf("s=%f\n" , s );</p><p><b> }</b></p><p> 2. 編寫程序顯示如圖1.11所示信
7、息。</p><p> 圖1.11 顯示信息</p><p> #include "stdio.h"</p><p><b> main()</b></p><p> { printf("******************************\n");</
8、p><p> printf("* hello world *\n");</p><p> printf("******************************\n"); }</p><p><b> 習(xí)題2</b></p><p><b
9、> 2-1 單選題</b></p><p> 1~5 DBDCA 6~10 DCABA 11~12 CA</p><p><b> 2-2 思考題</b></p><p> 1.2.000000</p><p><b> 2.1,0.5</b></
10、p><p><b> 3.9,2</b></p><p><b> 4.6</b></p><p><b> 5.100,d</b></p><p> 6.(1)20 (2)0 (3)60</p><p> 7. (1)10,6,4 (2)
11、6,9,15 (3)3,60,83</p><p><b> 8. 55</b></p><p><b> 習(xí)題3</b></p><p><b> 3-1 選擇題</b></p><p> 1-5 BDABC 6-10 ADCAC 11-12 BB</p&
12、gt;<p><b> 3-2 填空題</b></p><p><b> 1. 3</b></p><p><b> 2. 0261</b></p><p><b> 3. 0x10</b></p><p> 4. 2, 1
13、互換a,b的值</p><p><b> 5. 6.6</b></p><p><b> 6. –003</b></p><p><b> 8. 7</b></p><p> 7. 5.0,4,c=3<Enter></p><p>
14、 8. i=10,j=20<Enter></p><p><b> 9. (1) 65</b></p><p> (2) 65,A</p><p> (3) 56.123400,123.456001</p><p> (4) 3.141600</p><p>
15、; (5) 8765.432</p><p> (6) 5.864000e+002</p><p> (7) 3.141600e+000</p><p> (8) 3.1416</p><p> (9) 8765</p><p> (10) 3.1416,8765.43
16、</p><p> 10. a=2 b=5x=8.8 y=76.34c1=65 c2=97</p><p><b> 3-3 編程題</b></p><p> 1. 編寫程序?qū)崿F(xiàn)從鍵盤輸入兩個十進制整型數(shù)據(jù)10和8給變量x和y,并按下列格式輸出。</p><p> x
17、 y</p><p> 十進制數(shù) 108</p><p> 八進制數(shù)1210</p><p> 十六進制數(shù)a8</p><p> #include "stdio.h"</p><p><b> main()</b></p&g
18、t;<p> { int x, y ;</p><p> scanf("%d%d" , &x, &y);</p><p> printf(" x y\n");</p><p> printf("%4d%4d\n", x, y );</p><
19、p> printf("%4o%4o\n", x, y );</p><p> printf("%4x%4x\n", x, y );</p><p><b> }</b></p><p> 2. 編寫一個程序,輸入一個大寫英文字符('B'~'Y'),輸出它的前導(dǎo)
20、字符、該字符本身及其后續(xù)字符。</p><p> #include "stdio.h"</p><p><b> main()</b></p><p> { char c;</p><p> scanf(“%c”, &c );</p><p> printf
21、(“%c, %c, %c\n”, c-1, c, c+1 );</p><p><b> }</b></p><p> 3. 編寫一個程序,輸入一個3位正整數(shù),要求反向輸出對應(yīng)的整數(shù),如輸入123,則輸出321。編寫程序并給出相應(yīng)的程序流程圖。</p><p> #include "stdio.h"</p&g
22、t;<p><b> main()</b></p><p> { int a, a1, a2, a3;</p><p> scanf(“%d”, &a );</p><p> a1=a%10 ; a=a/10;</p><p> a2=a%10; a=a/10;</p>
23、<p> a3=a%10; </p><p> printf(“%d%d%d\n”, a1, a2, a3);</p><p><b> }</b></p><p> 4. 編寫程序,讀入3個double型數(shù)據(jù),求它們的平均值,保留此平均值小數(shù)點后1位數(shù),對小數(shù)點后第2位數(shù)進行四舍五入,最后輸出結(jié)果。</p>
24、<p> #include "stdio.h"</p><p><b> main()</b></p><p> { double a, b, c, ave;</p><p> scanf(“%lf%lf%lf”, &a, &b, &c );</p><p&g
25、t; ave=(a+b+c)/3 ;</p><p> printf(“%8.2f\n”, ave);</p><p><b> }</b></p><p> 5. 編寫程序,讀入3個整數(shù)給變量a、b、c,然后交換它們的值,把a原來的值給b,把b原來的值給c,把c原來的值給a。</p><p> #includ
26、e "stdio.h"</p><p><b> main()</b></p><p> { int a, b, c, t;</p><p> scanf(“%d%d%d”, &a, &b, &c );</p><p> t=a; a=c; c=b ; b=t ;&
27、lt;/p><p> printf(“a=%d, b=%d, c=%d\n”, a, b, c );</p><p><b> }</b></p><p><b> 習(xí)題4</b></p><p><b> 4-1單選題</b></p><p>
28、1~5 AADAD 6~10 ACB BB 11~12BA</p><p><b> 4-2填空題</b></p><p><b> 1. 1</b></p><p> 2. (1) a>0 || b>0 (2) x>0 && x<=10<
29、/p><p> (3) a==1.5 && b==1.5 && c==1.5 (4)p<a || p<b || p<c </p><p> 3.(1)0 (2)1 (3)1(4)0 (5)1</p><p> 4. (max=a>b?a:b)>c?max:c </p><
30、p><b> 5.-4</b></p><p><b> 6.1</b></p><p><b> 7.5,0,3</b></p><p> 8. (1) (a==0) (2) (b==0)(3) (disc<0)</p><p><b>
31、 4-3 編程題</b></p><p> 1.輸入3個實型數(shù)值a、b、c,如果能用它們作為三角形的3條邊形成一個三角形,則輸出三角形的面積,并畫出實現(xiàn)該算法的N-S流程圖并編程實現(xiàn)。</p><p> #include "stdio.h"</p><p> #include “math.h”</p><p&
32、gt;<b> main()</b></p><p> { float a,b,c,s,area;</p><p> scanf(“%f,%f,%f”,&a,&b,&c);</p><p> if (a+b>c && a+c>b && b+c>a)</p&g
33、t;<p> { s=(a+b+c)/2;</p><p> area=sqrt(s*(s-a)*(s-b)*(s-c));</p><p> printf(“%f”,area);</p><p><b> }</b></p><p><b> }</b></p>
34、<p> 2.輸入整數(shù)x、y,若x2+y2>1000,則輸出x2+y2百位以上的數(shù)字,否則輸出兩數(shù)之和。</p><p> #include "stdio.h"</p><p><b> main()</b></p><p> { int x,y;</p><p> sc
35、anf(“%d,%d”,&x,&y);</p><p> if (x*x+y*y>1000) </p><p> printf(“%d\n”,(x*x+y*y)/100);</p><p><b> else</b></p><p> printf(“%d\n”,x+y);</p>
36、;<p><b> }</b></p><p> 3. 輸入一個整數(shù),判斷它能否同時被3、5、7整除,并輸出“yes”或“no”字樣。</p><p> #include "stdio.h"</p><p><b> main()</b></p><p>&
37、lt;b> { int x,</b></p><p> scanf(“%d”,&x);</p><p> if(x%3==0 && x%5==0 && x%7==0)</p><p> printf(“yes\n”);</p><p><b> else</b
38、></p><p> printf(“no\n”);</p><p><b> }</b></p><p> 4.對任意輸入的x,用下式計算并輸出y的值。</p><p> #include "stdio.h"</p><p> #include “math.h
39、”</p><p><b> main()</b></p><p> { float x,y;</p><p> scanf(“%f”,&x);</p><p> if(x<-2) y=x*x-sin(x);</p><p> else if (x<=2) y=pow
40、(2,x)+1;</p><p> else y=sqrt(x*x+x+1);</p><p> printf(“%f\n”,y);</p><p><b> }</b></p><p> 5. 編寫程序輸入一個5位整數(shù),判斷它是不是回文數(shù)?;匚臄?shù)是指一個數(shù)從右到左和從左到右的對應(yīng)數(shù)碼相同,如12321是回文數(shù),
41、個位與萬位相同,十位與千位相同。</p><p> #include "stdio.h"</p><p><b> main( )</b></p><p> {long ge,shi,qian,wan,x;</p><p> scanf("%ld",&x);<
42、/p><p> wan=x/10000;</p><p> qian=x%10000/1000;</p><p> shi=x%100/10;</p><p><b> ge=x%10;</b></p><p> if (ge==wan&&shi==qian)/*個位等于萬位
43、并且十位等于千位*/</p><p> printf("this number is a huiwen\n");</p><p><b> else</b></p><p> printf("this number is not a huiwen\n");</p><p>&
44、lt;b> }</b></p><p> 6. 編寫程序用于計算某運輸公司的運費。設(shè)每公里每噸貨物的基本運費為p,貨物重量為w,路程為s(單位為km),折扣為d,總費用計算公式為:f=p*w*s*(1?d)</p><p> 運費計算標(biāo)準(zhǔn)見表4.5。</p><p> 表4.5 某運輸公司運費計算標(biāo)準(zhǔn)</p><p&g
45、t; #include "stdio.h"</p><p><b> main()</b></p><p> {float p,w,s,d,f;</p><p> scanf(“%f,%,%f”,p,s,w);</p><p> if (s>3000) d=0.15</p>
46、<p> else if( s>=2000) d=0.1;</p><p> else if(s>=1000) d=0.08;</p><p> else if(s>=500) d=0.05;</p><p> else if(s>=250) d=0.02;</p><p><b>
47、else d=0</b></p><p> f=p*w*s*(1-d);</p><p> printf(“%f”,f);</p><p><b> }</b></p><p><b> 習(xí)題5</b></p><p><b> 5-1單選題
48、</b></p><p> 1~5 CDABA 6~10 ABDDB11~14 DBCB</p><p><b> 5-2填空題</b></p><p><b> 1.20</b></p><p><b> 2.333 </b></p>
49、<p> 3.(1) i<10 (2) j%3!=0</p><p> 4. (1) flag*(float)k/(k+1) (2) flag=-flag</p><p> 5.(1) max=x (2) x!=-1 (3) scanf("%d", &x)</p><p><
50、b> 5-3 編程題</b></p><p> 1. 用3種循環(huán)語句編寫程序?qū)崿F(xiàn)下列算式:</p><p> ?。?)1+22+33+…+100100</p><p> ?。?)e=,當(dāng)最后一項的值小于10?6時為止。</p><p><b> (1)</b></p><p&g
51、t; #include "stdio.h" </p><p><b> main()</b></p><p> { int i; lont s=0;</p><p> for(i=1;i<=100;i++)</p><p><b> s+=i*i;</b><
52、/p><p> printf(“%ld”,s);</p><p><b> }</b></p><p><b> (2) </b></p><p> #include "stdio.h"</p><p><b> main()</b&
53、gt;</p><p> { int i=1; lont p=1;float s=0;</p><p><b> do{</b></p><p><b> s+=1.0/p;</b></p><p><b> p*=++i;</b></p><p&g
54、t; }while(1.0/p>1e-6)</p><p> printf(“%f”,s);</p><p><b> }</b></p><p> 2. 編寫程序求兩個正整數(shù)的最大公約數(shù)。</p><p> #include "stdio.h"</p><p>
55、;<b> main()</b></p><p> {int m,n,t,a,b;</p><p> scanf(“%d,%d” ,&m,&n) ;</p><p> if (m<n){ t=m ;m=n ;n=t ;}</p><p>&l
56、t;b> a=m;b=n;</b></p><p><b> t=m%n ;</b></p><p><b> while(t)</b></p><p> { m=n ; n=t ;t=m%n;}</p><p> printf(”%d,%d
57、”,n,a*b/n);</p><p><b> }</b></p><p> 3. 編寫程序求一個整數(shù)的任意次方的最后3位數(shù),即求xy的最后3位數(shù)。</p><p> #include "stdio.h"</p><p><b> main()</b></p>
58、;<p> {int x,y,s=1;</p><p> scanf(”%d,%d ”,&x,&y) ;</p><p> for( ;y>0 ;y--)s*=x ;</p><p> printf(”%d,%d,%d\n ”,s%10,s/10%10,s/100
59、%10);</p><p><b> }</b></p><p> 4. 百雞問題。用100元錢買100只雞,其中,公雞每只5元,母雞每只3元,小雞每3只1元。編寫程序輸出各種買法。</p><p> #include "stdio.h"</p><p><b> main()<
60、;/b></p><p> { int x,y,z;</p><p> for( x=1 ; x<20 ;x++)</p><p> for( y=1 ;y<33 ;y++)</p><p> { z=100-x-y ;</p><p> i
61、f (z>=0 && (5*x+3*y+z/3)-100<1e-5) </p><p> printf(”x=%d,y=%d,z=%d\n”,x,y,z) ;</p><p><b> }</b></p><p><b> }</b></p><p>
62、5. 編寫程序分別打印如下圖形:</p><p> *****************</p><p> (a)(b)</p><p> (a) #include "stdio.h"</p><p><b> main()</b></p><p> {
63、int j,k ;</p><p> for( j=1 ;j<=4 ;j++)</p><p> {for(k=1;k<=4-j;k++)printf(" ");</p><p> printf("****") ;</p><p> printf("\n") ;&
64、lt;/p><p><b> }</b></p><p><b> }</b></p><p> (b) #include "stdio.h"</p><p><b> main()</b></p><p> {int j,k
65、;</p><p> for( j=1 ;j<=4 ;j++)</p><p> {for(k=1;k<=4-j;k++)printf(" ");</p><p> for(k=1 ;k<=2*j-1 ;k++)</p><p> printf("*") ;</p>
66、<p> printf("\n") ;</p><p><b> }</b></p><p><b> }</b></p><p> 6. 請編寫程序求100~999之間所有的水仙花數(shù)。水仙花數(shù)的含義是指這樣的一個3位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。例如,371=33+73+1
67、3,所以371是一個水仙花數(shù)。</p><p> 程序分析:利用for循環(huán)控制100-999個數(shù),每個數(shù)分解出個位,十位,百位。</p><p> #include "stdio.h"</p><p><b> main()</b></p><p><b> {</b>&
68、lt;/p><p> int i,j,k,n;</p><p> printf("'water flower'number is:");</p><p> for(n=100;n<1000;n++)</p><p><b> {</b></p><p>
69、; i=n/100;/*分解出百位*/</p><p> j=n/10%10;/*分解出十位*/</p><p> k=n%10;/*分解出個位*/</p><p> if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)</p><p><b> {</b></p><p&
70、gt; printf("%-5d",n);</p><p><b> }</b></p><p><b> }</b></p><p> printf("\n");</p><p><b> }</b></p>&
71、lt;p><b> 習(xí)題6</b></p><p><b> 6-1單選題</b></p><p> 1-5 CBBAD 6-10 DBCCD 11-15 DCABC</p><p><b> 6-2填空題</b></p><p><b> 1.
72、 120</b></p><p><b> 2. x</b></p><p> 3 . 3,2,2,3 </p><p> 4. fac/i</p><p><b> 5. 8,17</b></p><p><b> 6. 9<
73、/b></p><p> 7. 1.0/(i*i) </p><p> 8. fun-in:30,20,10</p><p> fun-end:1015,35,1050 </p><p><b> 10,20,30</b></p><p> 9. 012345 </
74、p><p> 10. 93636 </p><p><b> 6-3 編程題</b></p><p> 1. 編寫一函數(shù)把字符串中的小寫字母轉(zhuǎn)換成大寫字母,其他字符不變。</p><p> void zhuan( )</p><p> { char ch;</p><
75、p> while((ch=getchar())!=’\n’)</p><p> { if(ch>=’a’ && ch<=’z’) ch=ch-32;</p><p> putchar(ch);</p><p><b> }</b></p><p><b> }<
76、;/b></p><p> 2. 編寫一函數(shù)求e=</p><p> float expp(int n)</p><p> { int k, fac=1;</p><p> float sum=0;</p><p> for(k=1; k<=n; k++)</p><p>
77、<b> { fac*=k;</b></p><p> sum+=1.0/fac ;</p><p><b> }</b></p><p> return(sum);</p><p><b> }</b></p><p> 3. 編寫一函數(shù)求
78、一個整數(shù)的任意次方的最后3位數(shù),即求xy的最后3位數(shù)。</p><p> int xy3( int x, int y)</p><p> { int k, num=1;</p><p> for(k=1;k<=y ; k++)</p><p><b> num*=x ;</b></p>&l
79、t;p> num=num%1000 ;</p><p> return num ;</p><p><b> }</b></p><p> 4. 有5個人坐在一起,第5個人說他比第4個人大2歲,第4個人說他比第3個人大2歲,第3個人說他比第2個人大2歲,第2個人說他比第1個人大2歲,第1個人說他10歲,請問第5個人多大?</
80、p><p> int age( int n)</p><p><b> { int c;</b></p><p> if(n==1) c=10 ;</p><p> else c=age(n-1)+2 ;</p><p> return c ;</p><p><
81、;b> }</b></p><p><b> 習(xí)題7</b></p><p><b> 7-1單選題</b></p><p> 1-5 DBCCB 6-8 BDC</p><p><b> 7-2填空題</b></p><p&
82、gt;<b> 1. c</b></p><p><b> 2. 60</b></p><p> 3. 1000 10</p><p><b> 4. 16 </b></p><p><b> 7-3 編程題</b></p><
83、;p> 1. 編寫程序計算下列公式中的f值,使用帶參數(shù)的宏來實現(xiàn)。</p><p> #include “math.h”</p><p> #define F(a) a*a+ sqrt(3*a*a+2*a+1)</p><p><b> main()</b></p><p> { float x,
84、f;</p><p> scanf(“%f”, &x );</p><p> f=4.5/F(exp(x))+F(cos(x))+F(sqrt(x))/F(x*x) ;</p><p> printf(“%f\n”, f);</p><p><b> }</b></p><p>&
85、lt;b> 習(xí)題8</b></p><p><b> 8-1單選題</b></p><p> 1~15 CADAC 6~10 CCDAB 11~15 CBBCD </p><p><b> 8-2填空題</b></p><p> 1 (1) 2 3 4 5
86、 (2) 10010 (3) QuickC (4)</p><p> 2. (1) j+=2 (2) a[i]>a[j]</p><p> 3. (1) r+b[k] (2) *x</p><p><b> 8-3 編程題</b></p><p> 1.設(shè)數(shù)組
87、a中的元素都為正整數(shù),編程求其中偶數(shù)的個數(shù)和偶數(shù)的平均值。</p><p> #include "stdio.h"</p><p> #define N 10 </p><p><b> main()</b></p><p> { int a[N]={1,2,3,4,5,6,7,8,9,0},
88、osum=0, ocount=0, j;</p><p> for(j=0;j<10;j++)</p><p> if(!( j%2)){ ocount++; osum+=a[j];}</p><p> printf(“ocount =%d, osum =%d\n”, ocount, osum);</p><p><b&
89、gt; }</b></p><p> 2. 有一個已排好序的數(shù)組,輸入一個數(shù),要求按原來排序的規(guī)律將它插入數(shù)組中,插入后數(shù)組仍然有序,請編程實現(xiàn)。</p><p> #include "stdio.h"</p><p> #define N 10</p><p><b> main()<
90、;/b></p><p> { int a[N]={10,20,30,40,50,60,70,80,90}, j, k, x;</p><p> scanf(“%d”,&x);</p><p> for(j=0;j<N;j++)</p><p> if (x<a[j]) break;</p>
91、<p> for(k=N-1; k>j; k--)a[k]=a[k-1];</p><p><b> a[j]=x;</b></p><p> for(j=0;j<N;j++) printf(“%d”,a[j]);</p><p><b> }</b></p><p&
92、gt; 3.編程求一個矩陣對角元素之和,其中矩陣元素值由數(shù)組初始化時給定。</p><p> #include "stdio.h"</p><p> #define M 3</p><p><b> main()</b></p><p> {int a[M][M]={{1,2,3},{4,5
93、,6},{7,8,9}},j,sum1=0,sum2=0;</p><p> for( j=0;j<M;j++)</p><p> {sum1+=a[j][j];</p><p> sum2+=a[j][M-(j+1)]; }</p><p> printf(“%d,%d\n”,sum1,sum2);</p>&l
94、t;p><b> }</b></p><p> 4. 編一個程序檢查二維數(shù)組是否對稱(即對所有的i和j,都有a[i][j]=a[j][i])。</p><p> #include "stdio.h"</p><p> #define M 3</p><p><b> main
95、()</b></p><p> {int a[M][M]={{1,2,3},{2,4,5},{3,5,6}},j,k,flag=1;;</p><p> for( j=0;j<M;j++)</p><p> for(k=0;k<M;k++)</p><p> if (a[j][k]!=a[k][j]) { fl
96、ag=0; break;}</p><p> if (flag) printf(“ok”);</p><p> else printf(”NO”);</p><p><b> }</b></p><p> 5.編程比較兩個字符串的大小(不用strcmp( )函數(shù))。</p><p> #
97、include "stdio.h"</p><p> #include “string.h”</p><p><b> main()</b></p><p> { char c1[10],c2[10],j;</p><p> gets(c1);gets(c2);</p><
98、;p> for(j=0; (c1[j]==c2[j]) && c1[j] && c2[j]; j++);</p><p> printf(“%d\n”,c1[j]-c2[j]);</p><p><b> }</b></p><p> 6. 有一篇文章,共有3行文字,每行有80個字符。要求分別統(tǒng)計出
99、其中英文大寫字母、小寫字母、數(shù)字、空格及其他字符的個數(shù)。</p><p> #include "stdio.h"</p><p> #include ”string.h”</p><p> #define M 3</p><p> #define N 80</p><p><b>
100、 main()</b></p><p> { char a[M][N],j,k,n[5]={0};</p><p> for( j=0;j<M;j++) gets(a[j]);</p><p> for(j=0;j<M;j++)</p><p> for(k=0;a[j][k];k++)</p>
101、;<p> if( a[j][k]>=’A’ && a[j][k]<=’Z’) n[1]++;</p><p> else if (a[j][k]>=’a’ && a[j][k]<=’z’) n[2]++;</p><p> else if (a[j][k]>=’0’ && a[j][k]&l
102、t;=’9’) n[3]++;</p><p> else if (a[j][k]=’ ’ ) n[4]++;</p><p> elsen[5]++;</p><p> for(j=0;j<5;j++)</p><p> printf(“%4d”, n[j]);</p><p><b>
103、}</b></p><p><b> 習(xí)題9</b></p><p><b> 9-1單選題</b></p><p> 1~5 DDACB 6~10 ACBAD11~15CDB CC </p><p><b> 9-2填空題</b></p&g
104、t;<p> 1 . (1) 2,1 (2) 10#30# (3) FOUR,O (4) 60</p><p> 2. (1) 49 (2) 2 (3)2 (4) 7 5 3 1 9 (5)15</p><p><b> (6)</b>&
105、lt;/p><p><b> (7)</b></p><p> 3. (1) *x (2) t</p><p> 4. (1) '\0'或0 (2) n++或n+=1或n=n+1</p><p><b> 5. 024</b></p><p>
106、<b> 9-3 編程題</b></p><p> 1. 按以下要求編寫一個程序。定義三個變量用于存放輸入的三個整數(shù);另定義三個指向整型變量的指針變量,并利用它們實現(xiàn)將輸入的三個整數(shù)按由小到大的順序輸出。</p><p> #include "stdio.h"</p><p><b> main()<
107、/b></p><p><b> {</b></p><p> int n1,n2,n3;</p><p> int *pointer1,*pointer2,*pointer3;</p><p> printf("please input 3 number:n1,n2,n3:");<
108、;/p><p> scanf("%d,%d,%d",&n1,&n2,&n3);</p><p> pointer1=&n1;</p><p> pointer2=&n2;</p><p> pointer3=&n3;</p><p> if(n1
109、>n2) swap(pointer1,pointer2);</p><p> if(n1>n3) swap(pointer1,pointer3);</p><p> if(n2>n3) swap(pointer2,pointer3);</p><p> printf("the sorted numbers are:%d,%d,%d\
110、n",n1,n2,n3);</p><p><b> }</b></p><p> swap(p1,p2)</p><p> int *p1,*p2;</p><p><b> {int p;</b></p><p> p=*p1;*p1=*p2;*p2=
111、p;</p><p><b> }</b></p><p> 2. 編寫函數(shù),得到兩個整數(shù)相除的商和余數(shù)。要求通過指針在函數(shù)間傳遞商和余數(shù)這兩個數(shù)據(jù)。</p><p> #include "stdio.h"</p><p><b> main()</b></p>
112、;<p> { int a,b,d ;double c;</p><p> void fun(int a,int b,float *c, int *d);</p><p> scanf("%d,%d",&a,&b);</p><p> fun(a,b,&c,&d);</p>&l
113、t;p> printf("%lf,%d\n",c,d);</p><p><b> }</b></p><p> void fun(int a,int b,double *c, int *d)</p><p> { if (b) { *c=(double)a/b; *d=a%b;}}</p>&l
114、t;p> 3. 輸入10個整數(shù),將其中最小的數(shù)與第一個數(shù)對換,把最大的數(shù)與最后一個數(shù)對換。編寫三個函數(shù):①輸入10個數(shù);②進行處理;③輸出10個數(shù)。</p><p> #include "stdio.h"</p><p><b> main()</b></p><p> {void input (int *);
115、 void output (int *); void chuli (int *);</p><p> int a[10];</p><p> input(a); chuli(a); output(a);</p><p><b> }</b></p><p> void input(int *a)</p&
116、gt;<p><b> { int j;</b></p><p> for(j=0;j<10;j++)</p><p> scanf("%d", a+j);</p><p><b> }</b></p><p> void chuli(int *a)
117、</p><p> {int j,minl=0,maxl=0;</p><p> for(j=0;j<10;j++)</p><p> {if(a[maxl]<*(a+j)) maxl=j;</p><p> if(a[minl]>*(a+j)) minl=j;</p><p><
118、;b> }</b></p><p> j=a[0]; a[0]=a[minl];a[minl]=j;</p><p> j=a[9];a[9]=a[maxl];a[maxl]=j;</p><p><b> } </b></p><p> void output(int *a)</p&g
119、t;<p><b> {int j;</b></p><p> for(j=0;j<10;j++)</p><p> printf("%4d", *(a+j));</p><p> printf("\n");</p><p><b> }&l
120、t;/b></p><p> 4.按下列要求輸入和輸出下列數(shù)據(jù)陣列:</p><p> 輸入陣列如下: 1 2 3 4</p><p> 5 6 7 8</p><p> 9 10 11 12</p><p><b> 輸出陣列如下:</b>&l
121、t;/p><p> 12 11 10 9</p><p> 8 7 6 5</p><p> 4 3 2 1</p><p> # define M 3</p><p> #define N 4</p><p><b> main()</b&
122、gt;</p><p> { int a[M][N]={1,2,3,4,5,6,7,8,9,10,11,12},k,j,*p=a,t;</p><p> for(k=0,j=M*N-1;k<j;k++,j--)</p><p> { t=*(p+k); *(p+k)=*(p+j); *(p+j)=t;}</p><p> for
123、 (k=0 ;k<M ;k++)</p><p> {for(j=0 ;j<N ;j++)</p><p> printf("%4d ",a[k][j]);</p><p> printf(“\n”);</p><p><b> }</b>&
124、lt;/p><p><b> }</b></p><p> 5.. 編寫一個函數(shù),求一個字符串的長度。在main( )函數(shù)中輸入字符串,并輸出其長度。</p><p> #include "stdio.h"</p><p><b> main()</b></p>
125、<p><b> {</b></p><p> int len,length(p);</p><p> char *str[20];</p><p> printf("please input a string:\n");</p><p> scanf("%s"
126、;,str);</p><p> len=length(str);</p><p> printf("the string has %d characters.\n",len);</p><p><b> }</b></p><p> int length(p)</p><
127、p><b> char *p;</b></p><p><b> {</b></p><p><b> int n=0;</b></p><p> while(*p!='\0')</p><p><b> {</b><
128、/p><p><b> n++;</b></p><p><b> p++;</b></p><p><b> }</b></p><p><b> return n;</b></p><p><b> }</
129、b></p><p> 6. 請編寫一個程序,運行時輸出命令行參數(shù)的個數(shù)及參數(shù)名。</p><p> #include “stdio.h”</p><p> main(int argc,char *argv[])</p><p><b> { int k;</b></p><p>
130、 printf(“argc=%d”,argc);</p><p> for (k=1;k<argc; k++)</p><p> printf(“%s”,argv[k]);</p><p><b> }</b></p><p> 7。用指針數(shù)組操作將輸入的5個字符串按由小到大的順序。</p>
131、<p> #include "stdio.h"</p><p> #include "string.h"</p><p><b> main()</b></p><p><b> {</b></p><p> char *str1[5],c
132、h[5][20],k; void sort(char **);</p><p> for(k=0;k<5;k++)</p><p> {str1[k]=ch[k];</p><p> gets(str1[k]);}</p><p> sort(str1);</p><p> for(k=0;k<5
133、;k++)</p><p> puts(str1[k]);</p><p><b> }</b></p><p> void sort(char **str1)</p><p> { int k,j,t;char *c;</p><p> for(k=0;k<4;k++)</
134、p><p><b> { t=k;</b></p><p> for(j=k+1;j<5;j++)</p><p> if(strcmp(*(str1+t),*(str1+j))>0) t=j;</p><p> c=*(str1+t);</p><p> *(str1+t)=*
135、(str1+k) ;</p><p> *(str1+k)=c ;</p><p><b> }</b></p><p><b> }</b></p><p><b> 習(xí)題10</b></p><p><b> 10-1單選題<
136、;/b></p><p> 1-5 CDBBB 6-10 BBBAD 11-15 CCBDA </p><p><b> 10-2填空題</b></p><p> 1. 所有結(jié)構(gòu)體成員所占存儲空間的總和</p><p> 2. 與占用存儲空間最大的那個成員相等</p><p
137、> 3. (1) 結(jié)構(gòu)體 (2) 3 (3) sa.a (4) 9 (5) psa=&sa</p><p><b> 4. 80</b></p><p> 5. struct node</p><p><b> 6. 0</b></p><p><b> 10-3
138、 編程題</b></p><p> 1. 定義一個包含20個學(xué)生基本情況(包括學(xué)號、姓名、性別、C語言成績)的結(jié)構(gòu)體數(shù)組,編程實現(xiàn)下列功能:</p><p> (1)輸入20個學(xué)生的學(xué)號、姓名、性別、C語言成績;</p><p> ?。?)分別統(tǒng)計男女生的人數(shù),求出男、女生的平均成績;</p><p> (3)按照學(xué)生的C語
139、言成績從高到底進行排序。</p><p> struct student</p><p><b> {</b></p><p> long num;</p><p> char name[20];</p><p> char sex;</p><p> f
140、loat score;</p><p><b> };</b></p><p><b> main()</b></p><p> { struct student s[20], temp;</p><p> int j,k, man=0, woman=0;</p><
141、;p> float summan=0,sumwoman=0, aveman, avewoman;</p><p> for(k=0; k<20; k++)</p><p> { scanf("%ld %s %c%f",&s[k].num,s[k].name,&s[k].sex,&s[k].score);</p><p>
142、if(s[k].sex==’m’) </p><p> { summan+=s[k].score; man++;}</p><p><b> else </b></p><p> { sumwoman+=s[k].score;woman++ ;}</p><p><b> }</b><
143、/p><p> aveman=summan/man;</p><p> avewoman=sumwoman/woman;</p><p> printf("%d\t%f\t%d\t%f\n",man,aveman,woman,avewoman);</p><p> for(k=0; k<19; k++)</p><
144、;p> for(j=0;j<20-k;j++)</p><p> if(s[j].score<s[j+1].score)</p><p> { temp=s[j];s[j]=s[j+1];s[j+1]=temp;}</p><p> printf("the sorted numbers:\n");</p><p>
145、 for(k=0;k<20;k++)</p><p> printf("%ld\t%s\t%c\t%5.1f\n",s[k].num,s[k].name,s[k].sex,s[k].score);</p><p><b> }</b></p><p><b> 習(xí)題11</b></p><p
146、><b> 11-1單選題</b></p><p><b> 1-4 BADD</b></p><p><b> 11-2填空題</b></p><p> 1. 3d3d330</p><p> 2. (1) 28 (2) 20 (3) 0 (4) -9<
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- c語言程序設(shè)計模擬題
- 《c語言程序設(shè)計教程》課后題答案
- 《c語言程序設(shè)計》課后習(xí)題參考答案
- c語言程序設(shè)計課后習(xí)題18參考答案
- 《c語言程序設(shè)計基礎(chǔ)》試卷a及參考答案
- c語言程序設(shè)計練習(xí)三參考答案
- 程序設(shè)計基礎(chǔ)——基于c語言(第2版)--課后習(xí)題參考答案
- c語言程序設(shè)計練習(xí)題含程序及參考答案
- 程序設(shè)計基礎(chǔ)——基于c語言第2版課后習(xí)題參考答案
- c語言程序設(shè)計函數(shù)練習(xí)題及參考答案
- c語言程序設(shè)計教程
- c語言程序設(shè)計教程楊路明課后習(xí)題答案(1)
- 水利模擬題參考答案
- 化工原理模擬題及參考答案
- 山大網(wǎng)絡(luò)java程序設(shè)計模擬題及答案a、b、c卷
- c#程序設(shè)計及應(yīng)用課后題答案
- c語言模擬題
- c語言程序設(shè)計實驗與習(xí)題指導(dǎo)課后程序設(shè)計答案
- c語言課后習(xí)題參考答案
- c語言程序設(shè)計案例教程
評論
0/150
提交評論