ImageVerifierCode 换一换
格式:DOCX , 页数:76 ,大小:44.06KB ,
资源ID:3324929      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3324929.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言程序设计现代方法第二版习题答案CProgrammingAModernApproach.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言程序设计现代方法第二版习题答案CProgrammingAModernApproach.docx

1、C语言程序设计现代方法第二版习题答案CProgrammingAModernApproachChapter 2Answers to Selected Exercises2.was #2 (a) The program contains one directive (#include) and four statements (three calls of printf and one return).(b)Parkinsons Law:Work expands so as to fill the timeavailable for its completion.3.was #4#include

2、int main(void)int height = 8, length = 12, width = 10, volume;volume = height * length * width;printf(Dimensions: %dx%dx%dn, length, width, height); printf(Volume (cubic inches): %dn, volume);printf(Dimensional weight (pounds): %dn, (volume + 165) / 166);return 0;4.was #6 Heres one possible program:

3、#include int main(void)int i, j, k; float x, y, z;printf(Value of i: %dn, i); printf(Value of j: %dn, j); printf(Value of k: %dn, k);printf(Value of x: %gn, x); printf(Value of y: %gn, y);printf(Value of z: %gn, z);return 0;When compiled using GCC and then executed, this program produced the followi

4、ng output:Value of i: 5618848Value of j: 0Value of k: 6844404Value of x: 3.98979e-34Value of y: 9.59105e-39Value of z: 9.59105e-39The values printed depend on many factors, so the chance that youll get exactly these numbers is small.5.was #10 (a) is not legal because 100_bottles begins with a digit.

5、8.was #12 There are 14 tokens: a, =, (, 3, *, q, -, p, *, p, ), /, 3, and ;.Answers to Selected Programming Projects4.was #8; modified#include int main(void)float original_amount, amount_with_tax;printf(Enter an amount: );scanf(%f, &original_amount); amount_with_tax = original_amount * 1.05f;printf(

6、With tax added: $%.2fn, amount_with_tax);return 0;The amount_with_tax variable is unnecessary. If we remove it, the program is slightly shorter:#include int main(void)float original_amount;printf(Enter an amount: );scanf(%f, &original_amount);printf(With tax added: $%.2fn, original_amount * 1.05f);r

7、eturn 0;Chapter 3Answers to Selected Exercises2.was #2(a)printf(%-8.1e, x);(b)printf(%10.6e, x);(c)printf(%-8.3f, x);(d)printf(%6.0f, x);5.respectively.was #8 The values of x, i, and y will be 12.3, 45, and .6,Answers to Selected Programming Projects1.was #4; modified#include int main(void)int month

8、, day, year;printf(Enter a date (mm/dd/yyyy): ); scanf(%d/%d/%d, &month, &day, &year);printf(You entered the date %d%.2d%.2dn, year, month, day);return 0;3.was #6; modified#include int main(void)int prefix, group, publisher, item, check_digit;printf(Enter ISBN: );scanf(%d-%d-%d-%d-%d, &prefix, &grou

9、p, &publisher, &item, &check_digit);printf(GS1 prefix: %dn, prefix); printf(Group identifier: %dn, group); printf(Publisher code: %dn, publisher); printf(Item number: %dn, item); printf(Check digit: %dn, check_digit);/* The five printf calls can be combined as follows:printf(GS1 prefix: %dnGroup ide

10、ntifier: %dnPublisher code: %dnItem number: %dnCheck digit: %dn, prefix, group, publisher, item, check_digit);*/return 0; Chapter 4Answers to Selected Exercises2.was #2 Not in C89. Suppose that i is 9 and j is 7. The value of (-i)/j could be either 1 or 2, depending on the implementation. On the oth

11、er hand, the value of -(i/j) is always 1, regardless of the implementation.In C99, on the other hand, the value of (-i)/j must be equal to the value of -(i/j).9.was #6(a)63 8(b)3 2 1(c)2 -1 3(d)0 0 013. was #8 The expression +i is equivalent to (i += 1). The value of both expressions is i after the

12、increment has been performed.Answers to Selected Programming Projects2. was #4#include int main(void)int n;printf(Enter a three-digit number: );scanf(%d, &n);printf(The reversal is: %d%d%dn, n % 10, (n / 10) % 10, n / 100);return 0;Chapter 5Answers to Selected Exercises2. was #2(a) 1(b) 1(c)1(d)14.w

13、as #4 (i j) - (i j)6.was #12 Yes, the statement is legal. When n is equal to 5, it does nothing, since 5 is not equal to - 9.10.was #16 The output isonetwosince there are no break statements after the cases.Answers to Selected Programming Projects2. was #6#include int main(void)int hours, minutes;pr

14、intf(Enter a 24-hour time: ); scanf(%d:%d, &hours, &minutes);printf(Equivalent 12-hour time: );if (hours = 0)printf(12:%.2d AMn, minutes);else if (hours 12)printf(%d:%.2d AMn, hours, minutes);else if (hours = 12)printf(%d:%.2d PMn, hours, minutes); elseprintf(%d:%.2d PMn, hours - 12, minutes);return

15、 0;4. was #8; modified#include int main(void)int speed;printf(Enter a wind speed in knots: ); scanf(%d, &speed);if (speed 1)printf(Calmn);else if (speed = 3)printf(Light airn);else if (speed = 27) printf(Breezen);else if (speed = 47) printf(Galen);else if (speed = 63)printf(Stormn);elseprintf(Hurric

16、anen);return 0;6.was #10#include int main(void)int check_digit, d, i1, i2, i3, i4, i5, j1, j2, j3, j4, j5, first_sum, second_sum, total;printf(Enter the first (single) digit: );scanf(%1d, &d);printf(Enter first group of five digits: ); scanf(%1d%1d%1d%1d%1d, &i1, &i2, &i3, &i4, &i5); printf(Enter se

17、cond group of five digits: );scanf(%1d%1d%1d%1d%1d, &j1, &j2, &j3, &j4, &j5); printf(Enter the last (single) digit: );scanf(%1d, &check_digit);first_sum = d + i2 + i4 + j1 + j3 + j5;second_sum = i1 + i3 + i5 + j2 + j4;total = 3 * first_sum + second_sum;if (check_digit = 9 - (total - 1) % 10) printf(

18、VALIDn);elseprintf(NOT VALIDn);return 0;10. was #14#include int main(void)int grade;printf(Enter numerical grade: );scanf(%d, &grade);if (grade 100) printf(Illegal graden); return 0;switch (grade / 10) case 10:case 9: printf(Letter grade: An); break;case 8: printf(Letter grade: Bn); break;case 7: pr

19、intf(Letter grade: Cn); break;case 6: printf(Letter grade: Dn); break;case 5:case 4:case 3:case 2:case 1:case 0: printf(Letter grade: Fn); break;return 0;Chapter 6Answers to Selected Exercises4. was #10 (c) is not equivalent to (a) and (b), because i is incremented before the loop body is executed.1

20、0. was #12 Consider the following while loop:while ()continue;The equivalent code using goto would have the following appearance: while ()goto loop_end;loop_end: ; /* null statement */12. was #14for (d = 2; d * d = n; d+) if (n % d = 0)break;The if statement that follows the loop will need to be mod

21、ified as well: if (d * d = n)printf(%d is divisible by %dn, n, d);elseprintf(%d is primen, n);14. was #16 The problem is the semicolon at the end of the first line. If we remove it, the statement is now correct:if (n % 2 = 0) printf(n is evenn);Answers to Selected Programming Projects2.was #2#includ

22、e int main(void)int m, n, remainder;printf(Enter two integers: ); scanf(%d%d, &m, &n);while (n != 0) remainder = m % n;m = n; n = remainder;printf(Greatest common divisor: %dn, m);return 0;4. was #4#include int main(void)float commission, value;printf(Enter value of trade: );scanf(%f, &value);while

23、(value != 0.0f) if (value 2500.00f)commission = 30.00f + .017f * value;else if (value 6250.00f) commission = 56.00f + .0066f * value;else if (value 20000.00f)commission = 76.00f + .0034f * value;else if (value 50000.00f) commission = 100.00f + .0022f * value;else if (value 500000.00f)commission = 15

24、5.00f + .0011f * value;elsecommission = 255.00f + .0009f * value;if (commission 39.00f)commission = 39.00f;printf(Commission: $%.2fnn, commission);printf(Enter value of trade: );scanf(%f, &value);return 0;6. was #6#include int main(void)int i, n;printf(Enter limit on maximum square: ); scanf(%d, &n)

25、;for (i = 2; i * i = n; i += 2) printf(%dn, i * i);return 0;8. was #8#include int main(void)int i, n, start_day;printf(Enter number of days in month: );scanf(%d, &n);printf(Enter starting day of the week (1=Sun, 7=Sat): ); scanf(%d, &start_day);/* print any leading blank dates */for (i = 1; i start_

26、day; i+)printf( );/* now print the calendar */ for (i = 1; i = n; i+) printf(%3d, i);if (start_day + i - 1) % 7 = 0) printf(n);return 0;Chapter 7Answers to Selected Exercises3.was #4 (b) is not legal.4.was #6 (d) is illegal, since printf requires a string, not a character, as its first argument.10.

27、was #14 unsigned int, because the (int) cast applies only to j, not j * k.12. was #16 The value of i is converted to float and added to f, then the result is converted to double and stored in d.14. was #18 No. Converting f to int will fail if the value stored in f exceeds the largest value of type i

28、nt.Answers to Selected Programming Projects 1. was #2 short int values are usually stored in 16 bits, causing failure at 182. int and long int values are usually stored in 32 bits, with failure occurring at 46341.2. was #8#include int main(void)int i, n;char ch;printf(This program prints a table of

29、squares.n); printf(Enter number of entries in table: ); scanf(%d, &n);ch = getchar();/* dispose of new-line character following number of entries */ /* could simply be getchar(); */for (i = 1; i = n; i+) printf(%10d%10dn, i, i * i);if (i % 24 = 0) printf(Press Enter to continue.);ch = getchar(); /* or simply getchar(); */return 0;5.was #10#include #include int main(void)int su

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1