CPrimerPlus课后答案.doc

上传人:仙人指路1688 文档编号:2384593 上传时间:2023-02-17 格式:DOC 页数:90 大小:316.50KB
返回 下载 相关 举报
CPrimerPlus课后答案.doc_第1页
第1页 / 共90页
CPrimerPlus课后答案.doc_第2页
第2页 / 共90页
CPrimerPlus课后答案.doc_第3页
第3页 / 共90页
CPrimerPlus课后答案.doc_第4页
第4页 / 共90页
CPrimerPlus课后答案.doc_第5页
第5页 / 共90页
点击查看更多>>
资源描述

《CPrimerPlus课后答案.doc》由会员分享,可在线阅读,更多相关《CPrimerPlus课后答案.doc(90页珍藏版)》请在三一办公上搜索。

1、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 days */ /* large ages

2、 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;void jolly(void) printf

3、(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 create two more varia

4、bles, 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);void two(void);int

5、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, &ascii); printf(%d

6、 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);printf(alarm and print

7、 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) */#include int main(vo

8、id)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 Exercise 3-6 */#include

9、 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; printf(%f quarts of wa

10、ter 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 4-1 */#include int

11、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 your height in inche

12、s: ); 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: ); printf(%.4f %.12f %.

13、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, mins; printf(Enter

14、 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(Byen); return 0;PE 5-

15、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_rem); return 0;PE 5-

16、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 5-7 */#include void

17、 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 assumes the characte

18、r 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 character codes */* are seq

19、uential, 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 square, cube; printf(E

20、nter 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 0;PE 6-7/* pe6-7.c

21、*/#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-10.c */#include #defi

22、ne 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 value = 1; /* 2 to t

23、he 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 %d numbers:n, SIZE)

24、; 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+) printf(%8g , arr_

25、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_COMP * deidre; +year

26、s; 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 (ch = ) sp_ct+; els

27、e 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 & n != 0) if (n % 2

28、= 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); return 0;PE 7-5 /* Pr

29、ogramming 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 replacements of ! wit

30、h !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 for 1st tier */#defin

31、e 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 = BASEHRS * BASEPAY +

32、(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: $%.2f; net: $%.2fn,

33、 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; ); printf(Enter q

34、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(Enter q to quit.n); return 0;PE 7-11 /* pe7-11.c */* Programming Exercise 7-11 */

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号