習(xí)題參考答案匯總_第1頁
習(xí)題參考答案匯總_第2頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、習(xí)題參考答案第 1 章1. a=%d,b=%d 2.【程序代碼如下:】#in elude int main() printf( “ *n ” );printf( “ * * *n ” );printf( “ * * * * *n ”);return 0;【程序運行結(jié)果如下:】3. The result is 95第 2 章1. a=3,b=-272.假設(shè)圓柱的底面積半徑為r (= 2.5),高為 h (= 3.5),編寫求體積(體積咼)的程序?!境绦虼a如下:】#i nclude #defi ne PI 3.1415926int main()double r = 2.5;double h =

2、3.5;double v=0;v = (PI * r * r)*h;printf( v = %lfn ”,v);return 0;【程序運行結(jié)果如下:】3.將下面的數(shù)學(xué)公式轉(zhuǎn)換成C 語言的表達(dá)式,并用程序驗證轉(zhuǎn)換后的表達(dá)式是否與原數(shù)學(xué)公式是一致的。數(shù)學(xué)公式如下:b aprintf(*n);=底面積*4242設(shè) a = 3, b = 5?!境绦虼a如下: 】#i nclude int main()double a=3, b=5;double result = (-2 * a + ( 4*a- b )/( 2*a + b ) )/( (a - 4*b)/(a + b);printf( “ %lfn

3、 ” , result);return 0;【程序運行結(jié)果如下:】4.編寫程序,從鍵盤輸入兩個字符分別存放在變量x 和 y 中,的值。【程序代碼如下: 】#i nclude int main()char x, y;char tmp;printf( Input two characters: ” );scanf( “ %c%c” , &x, &y);printf( “ Before swap: x=%c, y=%cn ”,x, y);tmp = x;x = y;y = tmp;printf( “After swap: x=%c, y=%cn ”,x, y);return 0;【程

4、序運行結(jié)果如下:】5.Write a program to evaluate the polyno mial show n here: for x = 2.55.3x 3 -5x 2 +6.【程序代碼如下: 】#i nclude #in clude int main()double a=3, b=-5,c=2;要求通過程序交換它們double x = 2.55;double rootl, root2;double delt;delt = b*b - 4*a*c;rootl = ( -b + sqrt( delt ) ) / (2 * a);root2 = ( -b - sqrt( delt )

5、 ) / (2 * a);printf( “ The two roots are:n ” );printf( “ root1 = %lfn root2 = %lfn ”,root1, root2);return 0;【程序運行結(jié)果如下:】第 3 章1.1 0 1 0 1 1 02.某市不同車牌的出租車 3 公里的起步價和計費分別為:夏利 7 元/公里,2.1 元/公里;富康 8 元/公里,3 公里以外 2.4 元/公里;桑塔納 9 元,3 元/公里。編程:從鍵盤輸入乘車的車型及公里數(shù),輸出應(yīng)付的車資?!境绦虼a如下:】#i nclude int main()int carType;/車型。1

6、代表夏利;2 代表富康;3 代表桑塔納double xiali = 2.1; / 每公里價格double fukang = 2.4;double san gta na = 2.7;double dista nee; / 距離 double totalMoney; 總的收費printf(”請輸入您乘坐的車型:1 代表夏利;2 代表富康;3 代表桑塔納:); sea nf(%d,&carType);printf(”請輸入您乘車的總路程:”);sca nf(%lf, &dista nee);if( carType = 1)/ 夏利if( dista nee 3 )totalM one

7、y = 7.0;elsetotalMoney = 7 + xiali * (distanee - 3);else if( carType = 2 ) / 富康if( dista nee 3 )totalM oney = 8.0;elsetotalMoney = 8 + fukang * (distanee - 3);3 公里以外公里以外 2.7else if( carType = 3 ) / 富康if( dista nee 3 )totalM oney = 9.0;elsetotalMoney = 9 + sangtana * (distanee - 3);printf(四舍五入)您的車費為:

8、%.0lfn, totalMoney );return 0;【程序運行結(jié)果如下:】3.Write a program that asks the user to type in two in teger values at the term in al. Testthese two nu mber to determ ine if the first is evenly divisible by the sec ond, and the ndisplay an appropriate message at the term in al.【程序代碼如下:】#i nclude int main()

9、int nu m1, nu m2;printf( Input two integers: ” );scanf( “ %d%d ” , &num1, &num2);if ( 0 = num1 % num2 )printf( “ %d can be evenly divisible by %dn ”,numl, num2);elseprintf( “ %d can not be evenly divisible by %dn ”,numl, num2);return 0;【程序運行結(jié)果如下:】第 4 章1.65 B2.c = J3.編寫程序, 從鍵盤輸入兩個數(shù)字字符并分別存放在字符

10、型變量x 和 y 中,要求通過程序?qū)⑦@兩個字符對應(yīng)的數(shù)字相加后輸出?!境绦虼a如下:】#i nclude int main()char x , y;printf( Input two characters: ” );scanf( %c%c” , &x, &y);if( x= 0 &x= 0 &y= 9)printf( “ %d n ” , x-0+y-0);return 0;【程序運行結(jié)果如下:】4.編寫程序,從鍵盤上輸入一個小寫字母,將其轉(zhuǎn)化為大寫字母?!境绦虼a如下:】#i nclude int main()char lower;printf( “ In p

11、ut a lower alpha: ” );scanf( “ %c” , &lower);if( lower= a& lower= z)printf( “ %c n ” , lower - 32);return 0;【程序運行結(jié)果如下:】5.Write a program that takes an in teger keyed in from the termi nal and extracts anddisplays each digit of the in teger in En glish.So, if the user types 932,the program sh

12、oulddisplay“ nine three two ” .【程序代碼如下:】#include (這題應(yīng)該放到第6 章)int main()int num;int iDigit;/每一位上的數(shù)字printf( “ Pleasse in put an in teger:” );scanf( “ %d ” , &num);while ( num ) /當(dāng)該數(shù)不為0 時,繼續(xù)提取其個位上的數(shù)字iDigit = num % 10; / 提取個位switch ( iDigit )case 0: printf( “Zero “);break;case 1: printf(“ One“);brea

13、k;case 2: printf(“Two“);break;case 3: printf( “Three “);break;case 4: printf(“ Four“);break;case 5: printf(“ Five“);break;case 6: printf( “ Six “);break;case 7: printf( “ Seven “);break;case 8: printf( “ Eight “);break;case 9: printf( “ Night “);break;num /= 10; /去掉該數(shù)的個位printf( “n” );return 0;【程序運行結(jié)

14、果如下:】第L .、八5 章1. C 2. B3. C4. C 5. B 6. A 7. A8. 錯誤。9.正確。10. void11.編寫程序,用有參有返回值函數(shù)實現(xiàn)判斷三個數(shù)是否能構(gòu)成三角形。函數(shù)原型可聲明為:“int isTriangle( double a, double b, double c ); ” , 其中,a,b,c 為三角形的三條邊,返回值為 0 或 1, 0 代表不能構(gòu)成三角形,1 代表能構(gòu)成三角形。請在主函數(shù)中調(diào)用該函 數(shù)完成程序的功能?!境绦虼a如下:】#i nclude int isTriangle( double a, double b, double c); 函

15、數(shù)聲明int main()double ea, eb, ec;三角形的三條邊int result; /是否是三角形的判斷結(jié)果printf( “ Please in put the three edges of a tria ngle:” );scanf( “l(fā)f%lf%lf ” , &ea, &eb, &ec);result = isTriangle( ea, eb, ec ); / 函數(shù)調(diào)用if( 0 = result )printf(這組邊長不能構(gòu)成三角形n”);elseprintf(這組邊長可以構(gòu)成三角形n”);return 0;int isTriangle( d

16、ouble a, double b, double c ) / 函數(shù)定義if( a 0 & b 0 & c 0 & a + b c & b + c a & c + a b )/三角形任意邊長大于0,且任意兩邊之和大于第三邊return 1; II 可以構(gòu)成三角形elsereturn 0; II 不能構(gòu)成三角形【程序運行結(jié)果如下:】12. Write a fun cti on called prime that retur ns 1 if its argume nt is a prime nu mber andretur ns0 otherwise.【程序

17、代碼如下:】#include (這題應(yīng)該放到第6 章)#in clude int prime( int n ); II 函數(shù)聲明int main()int num;in t isPrime;printf( “ Please in put an in teger:” );scanf( “d ” , &num);isPrime = prime( num ); / 函數(shù)調(diào)用if ( 1 = isPrime )printf( “ %d is a prime n ”,num);elseprintf( “ %d is not a primen ”,num );return 0;int prime(

18、 int n ) / 函數(shù)定義int i;for( i = 2; i sqrt ( n )return 1;elsereturn 0;【程序運行結(jié)果如下:】第 6 章1.A 2. B 3. D 4. C 5. D 6. C 7. A 8. A 9. A10. 511.312.編寫程序。功能:從讀入的整數(shù)數(shù)據(jù)中,統(tǒng)計大于零的整數(shù)個數(shù)和小于零的整數(shù)個數(shù)。用輸入零來結(jié)束輸入,程序中用變量 i 統(tǒng)計大于零的整數(shù)個數(shù),用變量 j 統(tǒng)計小于零 的整數(shù)個數(shù)?!境绦虼a如下: 】#i nclude int main()int num; /輸入的整數(shù)int iCount = 0; /大于 0 的整數(shù)的計數(shù)變量i

19、nt jCount = 0; /小于 0 的整數(shù)的計數(shù)變量printf(請輸入多個整數(shù):(以 0 結(jié)束輸入)”);scanf( “ %d ” , &num);while ( num ) / while ( num != 0 )if ( num 0 ) +iCou nt;else if ( num 0 ) +jCo unt;scanf( “ %d ” , &num);printf(大于 0 的個數(shù):%dn” , iCount);printf(小于 0 的個數(shù):dn”,jCount);return 0;【程序運行結(jié)果如下:】13. 編寫程序。功能:以每行 5 個數(shù)來輸出 300 以

20、內(nèi)能被 7 或 17 整除的偶數(shù),并求出 其和?!境绦虼a如下: 】#i nclude int main()int n; 300 以內(nèi)的數(shù)int count = 0; /滿足條件的數(shù)的統(tǒng)計變量int sum = 0; /求和變量for( n = 1; n = 300; +n)if ( n % 2 = 0 & (n % 7 =0 | n % 17 = 0) ) / 是偶數(shù),且能被 7 或 17 整除sum += n; / 求禾口printf( “5d”,n);輸出 n 值+co unt;if( count % 5 = 0 ) /某行夠 5 個數(shù)了,則換行printf( “n” );pri

21、ntf( “n” );return 0;【程序運行結(jié)果如下:】14. 編寫程序。功能:輸出100 到 1000 之間的各位數(shù)字之和能被15整除的所有數(shù),輸出時每 10 個數(shù)一行。【程序代碼如下: 】#include (移到第 7 章)int main()int n;/100 到 1000 之間的整數(shù)int tmpn;/臨時存儲 nint sum; /統(tǒng)計 n 的各位數(shù)字之和int count = 0; /輸出數(shù)的個數(shù)for ( n = 100; n = 1000; +n )tmpn = n; /將 n 臨時存儲到 tmpn 中sum = 0; /每個 n 要重新計算各位數(shù)字之和while (

22、tmpn ) / 當(dāng) tmpn 不為 0 時sum += tmp n % 10;tmpn /= 10;if ( sum % 15 = 0 ) /如果 n 滿足指定的條件printf( “5d”,n); /輸出當(dāng)前 n 值+co unt;if ( count % 10 = 0 ) / 一行輸出了 10 個整數(shù),則換行printf( “n” );printf( “n” );return 0;【程序運行結(jié)果如下:】15. 編寫程序。功能:分別求出一批非零整數(shù)中的偶數(shù)、奇數(shù)的平均值,用零作為終止 標(biāo)記?!境绦虼a如下: 】#i nclude int main()int n;整數(shù)int eSum = 0

23、; /奇數(shù)的和int oSum = 0; /偶數(shù)的和int eCou nt = 0; /奇數(shù)的個數(shù)int oCount = 0; /偶數(shù)的個數(shù)printf(請輸入若干個整數(shù)(以 0 結(jié)束輸入):”);scanf( “ %d ” , &n);while ( n ) / 當(dāng) n 不為 0if ( n % 2 ) n 為奇數(shù) eSum += n; +eCo unt; else 否則,n 為偶數(shù) oSum += n; +oCo unt; scanf( “ %d ” , &n); /輸入下一個整數(shù)printf(奇數(shù)平均值:%fn ” , 1.0 * eSum / eCount );pri

24、ntf(偶數(shù)平均值:%fn ” , 1.0 * oSum / oCount );return 0;【程序運行結(jié)果如下:】16. 編寫程序。功能:計算并輸出500以內(nèi)最大的 10個能被 13或 17整除的自然數(shù)之和?!境绦虼a如下: 】#i nclude int main()int n; /500-1 之間的整數(shù)int sum = 0; /求和變量int count = 0; /滿足條件的數(shù)的個數(shù)for ( n=500; n0; -n)if ( n % 13 = 0 | n % 17 = 0 )sum += n;+co unt;if ( count = 10 ) /有 10 個滿足條件的整數(shù),提

25、前結(jié)束循環(huán)break;printf( “ sum = %dn ”,sum );return 0;【程序運行結(jié)果如下:】第 7 章1.B2.編寫程序。功能:百馬百擔(dān)問題:有100 匹馬,馱 100 擔(dān)貨,大馬馱三擔(dān),中馬馱2 擔(dān),兩匹小馬馱一擔(dān),求大、中、小馬各多少匹?【程序代碼如下: 】#i nclude int main()int bigHorse, midHorse, littleHorse; / 大、中、小馬的數(shù)量for ( bigHorse = 0; bigHorse = 33; +bigHorse )for( midHorse = 0; midHorse = 50; +midHors

26、e )littleHorse = 100- bigHorse - midHorse; / 小馬數(shù)量if ( littleHorse % 2 = 0 & (3*bigHorse + 2*midHorse + littleHorse / 2=100 ) 小馬數(shù)量是偶數(shù),且三種馬馱的貨是100 擔(dān)printf(大馬:%d,中馬:%d,小馬:%dn” , bigHorse, midHorse,littleHorse );return 0;【程序運行結(jié)果如下:】3.編寫程序。 功能:百雞問題:100 元買 100 只雞, 公雞一只 5 元錢,母雞一只 3元錢,小雞一元錢三只,求100 元錢能買公

27、雞、母雞、小雞各多少只?【程序代碼如下: 】#i nclude int main()int cock, hen, chick; /公雞、母雞、小雞的數(shù)量for (cock = 0; cock = 20;+ cock)for(he n = 0; hen = 33;+ hen)chick = 100 - cock - hen; 小雞數(shù)量if (chick % 3 = 0 & (5* cock + 3* hen + chick / 3 = 100 ) ) / 小雞數(shù)量是 3 的倍數(shù),且三種雞的總錢數(shù)是100printf(公雞:%d,母雞:%d,小雞:dn” , cock, hen, chic

28、k);return 0;【程序運行結(jié)果如下:】4.編寫程序。功能:在屏幕上用*輸出一個漏斗狀的圖形?!境绦虼a如下: 】#i nclude void printFunnel( int n); / 函數(shù)聲明int main()int n; /上半部的總行數(shù)printf(請輸入漏斗上半部的總行數(shù):”);scanf( “ %d ” , &n);printFunnel( n ); /調(diào)用函數(shù)打印漏斗形return 0;void printFunn el( int n)int row; / 行號int starCount; /某行上星號的數(shù)量int spaceCou nt; /某行上空格的數(shù)量f

29、or( row = 1; row = n; +row)for( spaceCount = 1; spaceCount = row - 1 ; + spaceCount)printf( “); /打印出某行上星號前的空格for( starCount = 1; starCount = 2*( n - row ) + 1;+starCount )printf( “ * “); /打印出某行上的所有星號printf( “n”); /換行打印下半部分(可看成一個n-2 行的三角形狀)for( row = 2; row = n; +row)for( spaceCo unt = 1;spaceCo unt

30、= n - row ; + spaceCo unt)printf( “ “); /打印出某行上星號前的空格for( starC ount = 1; starC ount = 2* row - 1; +starC ount )printf( “ *“); /打印出某行上的所有星號printf( “n”); /換行【程序運行結(jié)果如下:】5.從上到下各空依次為:(1) i = n (2) k=2*(n-i) (3) printf( “n ”); scanf( “d ”, &n);第 8 章無。第 9 章1.B 2. C 3. A4.從鍵盤輸入若干整數(shù)(數(shù)據(jù)個數(shù)應(yīng)小于20),其值在 0 至 4

31、 的范圍內(nèi),用-1 作為輸入結(jié)束的標(biāo)志。編程統(tǒng)計輸入的整數(shù)個數(shù)。【程序代碼如下: 】#i nclude int getCount( int a , int n ); / 函數(shù)聲明int main()int array20 =0 ; /用來存儲最多 20 個整數(shù)int c;c = getCo unt( array , 20 );printf( “輸入的有效數(shù)的個數(shù)為:%dn” , c);return 0;int getCount( int a , int n ) / 函數(shù)定義int tmp; 臨時存儲輸入的數(shù)int count=0; /輸入的有效數(shù)的個數(shù)printf( “請輸入若干個 0-4 之

32、間的整數(shù)(以一 1 結(jié)束輸入):”);scanf( “ %d ”, &tmp);while ( tmp != -1 & cou nt =0 & tmp =4 ) / 在范圍之內(nèi)a count+ = tmp ; /將值轉(zhuǎn)存到數(shù)組對應(yīng)元素中scanf( “ %d ” , &tmp);/ 輸入下一個數(shù)retur n count;【程序運行結(jié)果如下:】5.編寫函數(shù), 將一個整型數(shù)組的全部元素逆序存儲,即若原來數(shù)組元素分別為123,4,5,逆序存儲后數(shù)組各元素變?yōu)?,4,3,2,1。函數(shù)原型可聲明為:n );, 參數(shù) a 為數(shù)組,n 為數(shù)組中的元素個數(shù)?!?void reverse(int a , int【程序代碼如下:】#in elude void reverse( int a , i nt n );int main()int array1O=O;int i;printf(請輸入 10 個整數(shù):”);for( i=0; i10; i+)scanf( “ %d ” , &arrayi);reverse( arr

溫馨提示

  • 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

提交評論