20201015-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises04
P136
题解和分析 - /*
- 编写一程序P136.C实现以下功能
- 通过键盘输入弧度x,输出x的余弦值(可用库函数cos)。
- 编程可用素材:printf("请输入弧度 x: ")、printf("\nCos(…) = …\n"…。
- 程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
- 请输入弧度 x: 2.553
- Cos(2.55) = -0.83172
- */
- #include <stdio.h>
- #include <math.h>
- int main(void)
- {
- double rad; //2.553
- printf("请输入弧度 x: ");
- scanf("%lf", &rad);
- printf("\nCos(%.2lf) = %.5lf\n", rad, cos(rad));
- return 0;
- }
- /*
- 分析:
- 1. 格式化,浮点数精度控制
- 2. 库函数调用,注意头文件包含
- */
复制代码
P238
题解和分析 - /*
- 编写一程序P238.C实现以下功能
- 先从键盘读入5个整数,然后倒序输出这5个数。
- 编程可用素材:printf("请输入5个数: ")、printf("\n这5个数倒序为: ")。
- 程序的运行效果应类似地如图1所示,图1中的1 3 6 10 22是从键盘输入的内容。
- 请输入5个数: 1 3 6 10 22
- 这5个数倒序为: 22 10 6 3 1
- */
- #include <stdio.h>
- int main(void)
- {
- int data1, data2, data3, data4, data5;
- printf("请输入5个数: ");
- scanf("%d %d %d %d %d", &data1, &data2, &data3, &data4, &data5);
- printf("\n这5个数倒序为: %d %d %d %d %d\n", data5, data4, data3, data2, data1);
- return 0;
- }
复制代码
P265
题解和分析 - /*
- 编写一程序P265.C实现以下功能
- 先从键盘读入7个数据(依次为2实数、3整数、2字符),然后按示例格式倒序输出这7个数据。
- 编程可用素材:
- printf("请输入7个数据(依次为2实数、3整数、2字符): ")、
- printf("\n这7个数据倒序为: ")。
- 程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
- 请输入7个数据(依次为2实数、3整数、2字符): 61.12376371 152.351192 81 192 35 x m
- 这7个数据倒序为: 7-m 6-x 5-35 4-192 3-81 2-152.3511920 1-61.1237637
- */
- #include <stdio.h>
- int main(void)
- {
- double ddata1, ddata2;
- int idata1, idata2, idata3;
- char ch1, ch2;
- printf("请输入7个数据(依次为2实数、3整数、2字符): ");
- scanf("%lf %lf %d %d %d %c %c",
- &ddata1, &ddata2, &idata1, &idata2, &idata3, &ch1, &ch2);
- printf("\n这7个数据倒序为: 7-%c 6-%c 5-%d 4-%d 3-%d 2-%.7lf 1-%.7lf\n",
- ch2, ch1, idata3, idata2, idata1, ddata2, ddata1);
- return 0;
- }
- /*
- 分析
- 1. 数据格式化输入和输出
- 2. 变量的地址
- 3. 变量的输入输出顺序
- */
复制代码
P728
题解和分析 - /*
- 编写一程序P728.C实现以下功能
- 已知某产品单价是30 ,输入其数量是num,输出其总价。
- 编程可用素材:printf("please input num: ")、printf("\ntotal=…。
- 程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
- please input num: 8
- total=240
- */
- #include <stdio.h>
- int main(void)
- {
- int num;
- int total;
- printf("please input num: ");
- scanf("%d", &num);
- total = num * 30;
- printf("\ntotal=%d\n", total);
- return 0;
- }
- /*
- 分析:
- 1. 建议初学者,多使用变量,中间变量
- 2. 输入输出是基础
- 3. 可以适当创建自己的编程模板,然后写程序时,在思路成熟后,就是填空
- 4. 使用短句,方便调试
- */
复制代码
P734
题解和分析 - /*
- 编写一程序P734.C实现以下功能
- 从键盘输入一个正方体的边长(整型),计算该正方体的体积和表面积。
- 编程可用素材:
- printf("Input a side of cube: ")…、
- printf("\nThe volume of cube is …, the surface area of cube is %d.\n"…。
- 程序的运行效果应类似地如图1所示,图中的红色部分是从键盘输入的内容。
- Input a side of cube: 5
- The volume of cube is 125, the surface area of cube is 150.
- */
- #include <stdio.h>
- int main(void)
- {
- int length;
- int cube;
- int area;
- printf("Input a side of cube: ");
- scanf("%d", &length);
- cube = length * length * length;
- area = 6 * length * length;
- printf("\nThe volume of cube is %d, the surface area of cube is %d.\n",
- cube, area);
- return 0;
- }
- /*
- 分析
- 1. 编程要实事求是,分析合适的数据类型,来存取相应的数据
- 2. 要特别注意题目要求和测试数据的要求
- */
复制代码
P736
题解和分析 - /*
- 编写一程序P736.C实现以下功能
- 从键盘上输入一个四位整数,计算各个位上的数字之和。
- 编程可用素材:
- printf("Input a number with 4-digit: ")、
- printf("\nsum=…\n"…。
- 程序的运行效果应类似地如图1所示,图中的红色部分是从键盘输入的内容。
- Input a number with 4-digit: 1234
- sum=10
- */
- #include <stdio.h>
- int main(void)
- {
- int num;
- int gw, sw, bw, qw;
- printf("Input a number with 4-digit: ");
- scanf("%d", &num);
- qw = num / 1000; // 离分出千位
- bw = num % 1000 / 100; // 离分出百位
- sw = num % 100 / 10; // 离分出十位
- gw = num % 10; // 离分出个位
- printf("\nsum=%d\n", qw + bw + sw + gw);
- return 0;
- }
- /*
- 分析:
- 1. 整数除法
- 2. 整数求余
- 3. 表达式与函数调用
- */
复制代码
P709
题解和分析 - /*
- 编写一程序P709.C实现以下功能
- 输入一个华氏温度,要求输出摄氏温度,计算公式为c=5(F-32)/9。
- 编程可用素材:
- printf("Input the degree: ")、
- printf("\nF(…)=C(…)…。
- 程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
- Input the degree: 120
- F(120.00)=C(48.89)
- */
- #include <stdio.h>
- int main(void)
- {
- double fdegree, cdegree;
- printf("Input the degree: ");
- scanf("%lf", &fdegree);
- // c=5(F-32)/9
- cdegree = (double)5 * (fdegree - 32) / 9;
- printf("\nF(%.2lf)=C(%.2lf)\n", fdegree, cdegree);
- return 0;
- }
- /*
- 分析:
- 1. 转换算法,这是以后编程的核心部分,现在的题提供了算法,以后可能需要程序员自己找算法或是创建算法
- 2. 计算过程中,如何去保证精度,不随意丢失精度
- 3. 输出结果字符串是如何拼接出来的,哪里是原样字符输出,哪里是格式占位输出
- 占位符的格式是输出的什么
- 整数?
- 字符?
- 浮点?
- 位宽,小数宽?
- */
复制代码 |