C primer plus 編程練習答案_第1頁
C primer plus 編程練習答案_第2頁
C primer plus 編程練習答案_第3頁
C primer plus 編程練習答案_第4頁
C primer plus 編程練習答案_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、c primer plus 編程練習答案chapter 2pe 2-1/* programming exercise 2-1 */#include int main(void) printf(anton brucknern); printf(antonnbrucknern); printf(anton ); printf(brucknern); return 0;pe 2-3/* programming exercise 2-3 */#include int main(void) int ageyears; /* age in years */ int agedays; /* age in d

2、ays */ /* large ages may require the long type */ ageyears = 44; agedays = 365 * ageyears; printf(an age of %d years is %d days.n, ageyears, agedays); return 0;pe 2-4/* programming exercise 2-4 */#include void jolly(void);void deny(void);int main(void) jolly(); jolly(); jolly(); deny(); return 0;voi

3、d jolly(void) printf(for hes a jolly good fellow!n);void deny(void) printf(which nobody can deny!n);pe 2-5/* programming exercise 2-5 */#include int main(void) int toes; toes = 10; printf(toes = %dn, toes); printf(twice toes = %dn, 2 * toes); printf(toes squared = %dn, toes * toes); return 0;/* or c

4、reate two more variables, set them to 2 * toes and toes * toes */pe 2-6/* programming exercise 2-6 */#include void once();void main(void)once();once();once();printf(n);once();once();printf(n);once();printf(n);void once()printf(smile!);pe 2-7/* programming exercise 2-7 */#include void one_three(void)

5、;void two(void);int main(void) printf(starting now:n); one_three(); printf(done!n); return 0;void one_three(void) printf(onen); two(); printf(threen);void two(void) printf(twon);chapter 3pe 3-2/* programming exercise 3-2(1) */#include int main(void) int ascii; printf(enter an ascii code: ); scanf(%d

6、, &ascii); printf(%d is the ascii code for %c.n, ascii, ascii); return 0;/* programming exercise 3-2(2) */#include int main(void)int num;printf(please enter a num:);scanf(%d,&num);printf(the code for the num is %cn,num);return 0;pe 3-3/* programming exercise 3-3 */#include int main(void)printf(a);pr

7、intf(alarm and print a line of wordn);return 0;pe 3-4/* programming exercise 3-4(1) */#include int main(void) float num; printf(enter a floating-point value: ); scanf(%f, &num); printf(fixed-point notation: %fn, num); printf(exponential notation: %en, num); return 0;/* programming exercise 3-4(2) */

8、#include int main(void)long float a;a=21.290000;printf(the input is %lf or %le.n,a,a);return 0;pe 3-5/* programming exercise 3-5 */#include int main(void)long int age;printf(please enter your age:n);scanf(%d,&age);printf(your age equals to %lf seconds.n,age*3.156e7);return 0;pe 3-6/* programming exe

9、rcise 3-6 */#include int main(void) float mass_mol = 3.0e-23; /* mass of water molecule in grams */ float mass_qt = 950; /* mass of quart of water in grams */ float quarts; float molecules; printf(enter the number of quarts of water: ); scanf(%f, &quarts); molecules = quarts * mass_qt / mass_mol; pr

10、intf(%f quarts of water contain %e molecules.n, quarts, molecules); return 0;pe 3-6/* programming exercise 3-7 */#include int main(void)float height;printf(please enter your height:n);scanf(%fg,&height);printf(your height equals to %f cm.n,height*2.54);return 0;chapter 4pe 4-1/* programming exercise

11、 4-1 */#include int main(void) char fname40; char lname40; printf(enter your first name: ); scanf(%s, fname); printf(enter your last name: ); scanf(%s, lname); printf(%s, %sn, lname, fname); return 0;pe 4-4/* programming exercise 4-4 */#include int main(void) float height; char name40; printf(enter

12、your height in inches: ); scanf(%f, &height); printf(enter your name: ); scanf(%s, name); printf(%s, you are %.3f feet talln, name, height / 12.0); return 0;pe 4-6/* programming exercise 4-6 */#include #include int main(void) float ot_f = 1.0 / 3.0; double ot_d = 1.0 / 3.0; printf( float values: );

13、printf(%.4f %.12f %.16fn, ot_f, ot_f, ot_f); printf(double values: ); printf(%.4f %.12f %.16fn, ot_d, ot_d, ot_d); printf(flt_dig: %dn, flt_dig); printf(dbl_dig: %dn, dbl_dig); return 0;chapter 5pe 5-1/* programming exercise 5-1 */#include int main(void) const int minperhour = 60; int minutes, hours

14、, mins; printf(enter the number of minutes to convert: ); scanf(%d, &minutes); while (minutes 0 ) hours = minutes / minperhour; mins = minutes % minperhour; printf(%d minutes = %d hours, %d minutesn, minutes, hours, mins); printf(enter next minutes value (0 to quit): ); scanf(%d, &minutes); printf(b

15、yen); return 0;pe 5-3/* programming exercise 5-3 */#include int main(void) const int daysperweek = 7; int days, weeks, day_rem; printf(enter the number of days: ); scanf(%d, &days); weeks = days / daysperweek; day_rem = days % daysperweek; printf(%d days are %d weeks and %d days.n, days, weeks, day_

16、rem); return 0;pe 5-5/* programming exercise 5-5 */#include int main(void) /* finds sum of first n integers */ int count, sum; int n; printf(enter the upper limit: ); scanf(%d, &n); count = 0; sum = 0; while (count+ n) sum = sum + count; printf(sum = %dn, sum); return 0;pe 5-7/* programming exercise

17、 5-7 */#include void showcube(double x);int main(void) /* finds cube of entered number */ double val; printf(enter a floating-point value: ); scanf(%lf, &val); showcube(val); return 0;void showcube(double x) printf(the cube of %e is %e.n, x, x*x*x );chapter 6pe 6-1/* pe6-1.c */* this implementation

18、assumes the character codes */* are sequential, as they are in ascii. */#include #define size 26int main( void ) char lcasesize; int i; for (i = 0; i size; i+) lcasei = a + i; for (i = 0; i size; i+) printf(%c, lcasei); printf(n); return 0;pe 6-3/* pe6-3.c */* this implementation assumes the charact

19、er codes */* are sequential, as they are in ascii. */#include int main( void ) char let = f; char start; char end; for (end = let; end = a; end-) for (start = let; start = end; start-) printf(%c, start); printf(n); return 0;pe 6-5/* pe6-5.c */#include int main( void ) int lower, upper, index; int sq

20、uare, cube; printf(enter starting integer: ); scanf(%d, &lower); printf(enter ending integer: ); scanf(%d, &upper); printf(%5s %10s %15sn, num, square, cube); for (index = lower; index = upper; index+) square = index * index; cube = index * square; printf(%5d %10d %15dn, index, square, cube); return

21、 0;pe 6-7/* pe6-7.c */#include int main( void ) double n, m; double res; printf(enter a pair of numbers: ); while (scanf(%lf %lf, &n, &m) = 2) res = (n - m) / (n * m); printf(%.3g - %.3g)/(%.3g*%.3g) = %.5gn, n, m, n, m, res); printf(enter next pair (non-numeric to quit): ); return 0;pe 6-10/* pe6-1

22、0.c */#include #define size 8int main( void ) int valssize; int i; printf(please enter %d integers.n, size); for (i = 0; i 0; i-) printf(%d , valsi); printf(n); return 0;pe 6-12/* pe6-12.c */* this version starts with the 0 power */#include #define size 8int main( void ) int twopowssize; int i; int

23、value = 1; /* 2 to the 0 */ for (i = 0; i size; i+) twopowsi = value; value *= 2; i = 0; do printf(%d , twopowsi); i+; while (i size); printf(n); return 0;pe 6-13/* pe-13.c */* programming exercise 6-13 */#include #define size 8int main(void) double arrsize; double arr_cumulsize; int i; printf(enter

24、 %d numbers:n, size); for (i = 0; i size; i+) printf(value #%d: , i + 1); scanf(%lf, &arri); /* or scanf(%lf, arr + i); */ arr_cumul0 = arr0; /* set first element */ for (i = 1; i size; i+) arr_cumuli = arr_cumuli-1 + arri; for (i = 0; i size; i+) printf(%8g , arri); printf(n); for (i = 0; i size; i

25、+) printf(%8g , arr_cumuli); printf(n); return 0;pe 6-15/* pe6-15.c */#include #define rate_simp 0.10#define rate_comp 0.05#define init_amt 100.0int main( void ) double daphne = init_amt; double deidre = init_amt; int years = 0; while (deidre = daphne) daphne += rate_simp * init_amt; deidre += rate_

26、comp * deidre; +years; printf(investment values after %d years:n, years); printf(daphne: $%.2fn, daphne); printf(deidre: $%.2fn, deidre); return 0;chapter 7pe 7-1/* programming exercise 7-1 */#include int main(void) char ch; int sp_ct = 0; int nl_ct = 0; int other = 0; while (ch = getchar() != #) if

27、 (ch = ) sp_ct+; else if (ch = n) nl_ct+; else other+; printf(spaces: %d, newlines: %d, others: %dn, sp_ct, nl_ct, other); return 0;pe 7-3/* programming exercise 7-3 */#include int main(void) int n; double sumeven = 0.0; int ct_even = 0; double sumodd = 0.0; int ct_odd = 0; while (scanf(%d, &n) = 1

28、& n != 0) if (n % 2 = 1) sumodd += n; +ct_odd; else sumeven += n; +ct_even; printf(number of evens: %d, ct_even); if (ct_even 0) printf( average: %g, sumeven / ct_even); putchar(n); printf(number of odds: %d, ct_odd); if (ct_odd 0) printf( average: %g, sumodd / ct_odd); putchar(n); printf(ndonen); r

29、eturn 0;pe 7-5 /* programming exercise 7-5 */#include int main(void) char ch; int ct1 = 0; int ct2 = 0; while (ch = getchar() != #) switch(ch) case . : putchar(!); +ct1; break; case ! : putchar(!); putchar(!); +ct2; break; default : putchar(ch); printf(%d replacements of . with !n, ct1); printf(%d r

30、eplacements of ! with !n, ct2); return 0;pe 7-7 /* programming exercise 7-7 */#include #define basepay 10 /* $10 per hour */#define basehrs 40 /* hours at basepay */#define overtime 1.5 /* 1.5 time */#define amt1 300 /* 1st rate tier */#define amt2 150 /* 2st rate tier */#define rate1 0.15 /* rate f

31、or 1st tier */#define rate2 0.20 /* rate for 2nd tier */#define rate3 0.25 /* rate for 3rd tier */int main(void) double hours; double gross; double net; double taxes; printf(enter the number of hours worked this week: ); scanf(%lf, &hours); if (hours = basehrs) gross = hours * basepay; else gross =

32、basehrs * basepay + (hours - basehrs) * basepay * overtime; if (gross = amt1) taxes = gross * rate1; else if (gross = amt1 + amt2) taxes = amt1 * rate1 + (gross - amt1) * rate2; else taxes = amt1 * rate1 + amt2 * rate2 + (gross - amt1 - amt2) * rate3; net = gross - taxes; printf(gross: $%.2f; taxes:

33、 $%.2f; net: $%.2fn, gross, taxes, net); return 0;pe 7-9 /* programmming exercise 7-9 */#include #define no 0#define yes 1int main(void) long num; /* value to be checked */ long div; /* potential divisors */ long lim; /* limit to values */ int prime; printf(please enter limit to values to be checked

34、; ); printf(enter q to quit.n); while (scanf(%ld, &lim) = 1 & lim 0) for (num = 2; num = lim; num+) for (div = 2, prime = yes; (div * div) = num; div+) if (num % div = 0) prime = no; /* number is not prime */ if (prime = yes) printf(%ld is prime.n, num); printf(please enter another limit; ); printf(

35、enter q to quit.n); return 0;pe 7-11 /* pe7-11.c */* programming exercise 7-11 */#include #include int main(void) const double price_artichokes = 1.25; const double price_beets = 0.65; const double price_carrots = 0.89; const double discount_rate = 0.05; char ch; double lb_artichokes; double lb_beet

36、s; double lb_carrots; double lb_total; double cost_artichokes; double cost_beets; double cost_carrots; double cost_total; double final_total; double discount; double shipping; printf(enter a to buy artichokes, b for beets, ); printf(c for carrots, q to quit: ); while (ch = getchar() != q & ch != q)

37、if (ch = n) continue; while (getchar() != n) continue; ch = tolower(ch); switch (ch) case a : printf(enter pounds of artichokes: ); scanf(%lf, &lb_artichokes); break; case b : printf(enter pounds of beets: ); scanf(%lf, &lb_beets); break; case c : printf(enter pounds of carrots: ); scanf(%lf, &lb_ca

38、rrots); break; default : printf(%c is not a valid choice.n); printf(enter a to buy artichokes, b for beets, ); printf(c for carrots, q to quit: ); cost_artichokes = price_artichokes * lb_artichokes; cost_beets = price_beets * lb_beets; cost_carrots = price_carrots * lb_carrots; cost_total = cost_art

39、ichokes + cost_beets + cost_carrots; lb_total = lb_artichokes + lb_beets + lb_carrots; if (lb_total = 0) shipping = 0.0; else if (lb_total 5.0) shipping = 3.50; else if (lb_total 100.0) discount = discount_rate * cost_total; else discount = 0.0; final_total = cost_total + shipping - discount; printf

40、(your order:n); printf(%.2f lbs of artichokes at $%.2f per pound:$ %.2fn, lb_artichokes, price_artichokes, cost_artichokes); printf(%.2f lbs of beets at $%.2f per pound: $%.2fn, lb_beets, price_beets, cost_beets); printf(%.2f lbs of carrots at $%.2f per pound: $%.2fn, lb_carrots, price_carrots, cost

41、_carrots); printf(total cost of vegetables: $%.2fn, cost_total); if (cost_total 100) printf(volume discount: $%.2fn, discount); printf(shipping: $%.2fn, shipping); printf(total charges: $%.2fn, final_total); return 0;chapter 8pe 8-1 /* programming exercise 8-1 */#include int main(void) int ch; int ct = 0; while (ch = getchar() != eof) ct+; printf(%d characters readn, ct); return 0;pe 8-3 /* programming exercise 8-3 */* using ctype.h eliminates need to assume ascii coding */#include #include int main(void) in

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論