[C.C++] 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises04

892 0
Honkers 2025-3-16 22:36:46 来自手机 | 显示全部楼层 |阅读模式

20201015-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises04

P136

题解和分析

  1. /*
  2. 编写一程序P136.C实现以下功能
  3.   通过键盘输入弧度x,输出x的余弦值(可用库函数cos)。
  4. 编程可用素材:printf("请输入弧度 x: ")、printf("\nCos(…) = …\n"…。
  5.   程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
  6. 请输入弧度 x: 2.553
  7. Cos(2.55) = -0.83172
  8. */
  9. #include <stdio.h>
  10. #include <math.h>
  11. int main(void)
  12. {
  13. double rad; //2.553
  14. printf("请输入弧度 x: ");
  15. scanf("%lf", &rad);
  16. printf("\nCos(%.2lf) = %.5lf\n", rad, cos(rad));
  17. return 0;
  18. }
  19. /*
  20. 分析:
  21. 1. 格式化,浮点数精度控制
  22. 2. 库函数调用,注意头文件包含
  23. */
复制代码

P238

题解和分析

  1. /*
  2. 编写一程序P238.C实现以下功能
  3.   先从键盘读入5个整数,然后倒序输出这5个数。
  4. 编程可用素材:printf("请输入5个数: ")、printf("\n这5个数倒序为: ")。
  5.   程序的运行效果应类似地如图1所示,图1中的1 3 6 10 22是从键盘输入的内容。
  6. 请输入5个数: 1 3 6 10 22
  7. 这5个数倒序为: 22 10 6 3 1
  8. */
  9. #include <stdio.h>
  10. int main(void)
  11. {
  12. int data1, data2, data3, data4, data5;
  13. printf("请输入5个数: ");
  14. scanf("%d %d %d %d %d", &data1, &data2, &data3, &data4, &data5);
  15. printf("\n这5个数倒序为: %d %d %d %d %d\n", data5, data4, data3, data2, data1);
  16. return 0;
  17. }
复制代码

P265

题解和分析

  1. /*
  2. 编写一程序P265.C实现以下功能
  3.   先从键盘读入7个数据(依次为2实数、3整数、2字符),然后按示例格式倒序输出这7个数据。
  4. 编程可用素材:
  5. printf("请输入7个数据(依次为2实数、3整数、2字符): ")、
  6. printf("\n这7个数据倒序为: ")。
  7.   程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
  8. 请输入7个数据(依次为2实数、3整数、2字符): 61.12376371 152.351192 81 192 35 x m
  9. 这7个数据倒序为: 7-m 6-x 5-35 4-192 3-81 2-152.3511920 1-61.1237637
  10. */
  11. #include <stdio.h>
  12. int main(void)
  13. {
  14. double ddata1, ddata2;
  15. int idata1, idata2, idata3;
  16. char ch1, ch2;
  17. printf("请输入7个数据(依次为2实数、3整数、2字符): ");
  18. scanf("%lf %lf %d %d %d %c %c",
  19. &ddata1, &ddata2, &idata1, &idata2, &idata3, &ch1, &ch2);
  20. printf("\n这7个数据倒序为: 7-%c 6-%c 5-%d 4-%d 3-%d 2-%.7lf 1-%.7lf\n",
  21. ch2, ch1, idata3, idata2, idata1, ddata2, ddata1);
  22. return 0;
  23. }
  24. /*
  25. 分析
  26. 1. 数据格式化输入和输出
  27. 2. 变量的地址
  28. 3. 变量的输入输出顺序
  29. */
复制代码

P728

题解和分析

  1. /*
  2. 编写一程序P728.C实现以下功能
  3.   已知某产品单价是30 ,输入其数量是num,输出其总价。
  4. 编程可用素材:printf("please input num: ")、printf("\ntotal=…。
  5.   程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
  6. please input num: 8
  7. total=240
  8. */
  9. #include <stdio.h>
  10. int main(void)
  11. {
  12. int num;
  13. int total;
  14. printf("please input num: ");
  15. scanf("%d", &num);
  16. total = num * 30;
  17. printf("\ntotal=%d\n", total);
  18. return 0;
  19. }
  20. /*
  21. 分析:
  22. 1. 建议初学者,多使用变量,中间变量
  23. 2. 输入输出是基础
  24. 3. 可以适当创建自己的编程模板,然后写程序时,在思路成熟后,就是填空
  25. 4. 使用短句,方便调试
  26. */
复制代码

P734

题解和分析

  1. /*
  2. 编写一程序P734.C实现以下功能
  3.   从键盘输入一个正方体的边长(整型),计算该正方体的体积和表面积。
  4. 编程可用素材:
  5. printf("Input a side of cube: ")…、
  6. printf("\nThe volume of cube is …, the surface area of cube is %d.\n"…。
  7.   程序的运行效果应类似地如图1所示,图中的红色部分是从键盘输入的内容。
  8. Input a side of cube: 5
  9. The volume of cube is 125, the surface area of cube is 150.
  10. */
  11. #include <stdio.h>
  12. int main(void)
  13. {
  14. int length;
  15. int cube;
  16. int area;
  17. printf("Input a side of cube: ");
  18. scanf("%d", &length);
  19. cube = length * length * length;
  20. area = 6 * length * length;
  21. printf("\nThe volume of cube is %d, the surface area of cube is %d.\n",
  22. cube, area);
  23. return 0;
  24. }
  25. /*
  26. 分析
  27. 1. 编程要实事求是,分析合适的数据类型,来存取相应的数据
  28. 2. 要特别注意题目要求和测试数据的要求
  29. */
复制代码

P736

题解和分析

  1. /*
  2. 编写一程序P736.C实现以下功能
  3.   从键盘上输入一个四位整数,计算各个位上的数字之和。
  4. 编程可用素材:
  5. printf("Input a number with 4-digit: ")、
  6. printf("\nsum=…\n"…。
  7.   程序的运行效果应类似地如图1所示,图中的红色部分是从键盘输入的内容。
  8. Input a number with 4-digit: 1234
  9. sum=10
  10. */
  11. #include <stdio.h>
  12. int main(void)
  13. {
  14. int num;
  15. int gw, sw, bw, qw;
  16. printf("Input a number with 4-digit: ");
  17. scanf("%d", &num);
  18. qw = num / 1000; // 离分出千位
  19. bw = num % 1000 / 100; // 离分出百位
  20. sw = num % 100 / 10; // 离分出十位
  21. gw = num % 10; // 离分出个位
  22. printf("\nsum=%d\n", qw + bw + sw + gw);
  23. return 0;
  24. }
  25. /*
  26. 分析:
  27. 1. 整数除法
  28. 2. 整数求余
  29. 3. 表达式与函数调用
  30. */
复制代码

P709

题解和分析

  1. /*
  2. 编写一程序P709.C实现以下功能
  3.   输入一个华氏温度,要求输出摄氏温度,计算公式为c=5(F-32)/9。
  4. 编程可用素材:
  5. printf("Input the degree: ")、
  6. printf("\nF(…)=C(…)…。
  7.   程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
  8. Input the degree: 120
  9. F(120.00)=C(48.89)
  10. */
  11. #include <stdio.h>
  12. int main(void)
  13. {
  14. double fdegree, cdegree;
  15. printf("Input the degree: ");
  16. scanf("%lf", &fdegree);
  17. // c=5(F-32)/9
  18. cdegree = (double)5 * (fdegree - 32) / 9;
  19. printf("\nF(%.2lf)=C(%.2lf)\n", fdegree, cdegree);
  20. return 0;
  21. }
  22. /*
  23. 分析:
  24. 1. 转换算法,这是以后编程的核心部分,现在的题提供了算法,以后可能需要程序员自己找算法或是创建算法
  25. 2. 计算过程中,如何去保证精度,不随意丢失精度
  26. 3. 输出结果字符串是如何拼接出来的,哪里是原样字符输出,哪里是格式占位输出
  27. 占位符的格式是输出的什么
  28. 整数?
  29. 字符?
  30. 浮点?
  31. 位宽,小数宽?
  32. */
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Honkers

荣誉红客

关注
  • 4010
    主题
  • 36
    粉丝
  • 0
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行