从问题到程序--裘宗燕--课后习题部分答案(第三章)
更新时间:2023-09-19 05:22:01 阅读量: 小学教育 文档下载
- 从问题到程序裘宗燕答案推荐度:
- 相关推荐
第三章
练习
1. 下面的字符序列中哪些不是合法的变量名: -abc __aa for pp.288 IBM/PC tihs
While r24_s25 __a__b a\ _345 答:
-abc for pp.288 to be IBM/PC ms-c #micro m%ust While a\
2. 假设整型变量a 的值是1,b 的值是2,c 的值是3,在这种情况下分别执行下 面各个语句,写出执行对应语句后整型变量u 的值。 1) u = a ? b : c;
2) u = (a = 2) ? b + a : c + a; 答:
1)u=2 2)u=4
3. 假设整型变量a 的值是1,b 的值是2,c 的值是0,写出下面各个表达式的值。 1) a && !((b || c) && !a)
2) !(a && b) || c ? a || b : a && b && c 3) !(a + b < c) && b <= c * a – b 答:
1)1 2)0 3)0
4. 下面程序在执行时,哪些地方将发生类型转换?程序打印的值是什么?
int f (int n, float m) { return (m + n) / 4; }
int main () { float y = 3;
printf(\return 0; }
答:
2:参数1传递:形式参数为int,实际参数 为float,float转换为int #include
int f(int n,float m)
4:除操作:参与/的对象有int型的4和float型有(m+n),int转换为float
{
return (m+n) /4; }
int main () { float y=3;
printf(\ f (y,y+1)); system(\ return 0; }
3:加操作:参与+的对象有int:n和float:m,int型的n转换为float
1:表达式y+1求值:
参与+的对象有int:1
和float:y,int转换为
float
5. 在计算机上试验本章正文中的一些程序。对它们做一些修改,观察程序加工和运行的情 况,并对程序的行为做出解释。 答案:略
6. 定义求圆球的体积、求圆球的表面积、求圆柱体的体积、求圆柱体的表面积的函数。 答:
#include
v=4.0/3.0*r*r*r*3.1415926; return v; }
double f2(double r){ double s;
s=4*r*r*3.1415926; return s; }
double f3(double r,double h){ double v;
v=r*r*3.1415926*h;
5:函数结果传递:(m+n)/4 结果的类型为float型,而函数要求返回的值类型为int,因而发生float型转换为int型
return v; }
double f4(double r,double h){ double s;
s=2*3.1415926*r*h+2*3.1415926*r*r; return s; }
int main(){
printf(\圆球的体积为%f\\n\ printf(\圆球的面积为%f\\n\
printf(\圆柱体的体积为%lf\\n\ printf(\圆柱体的面积为%lf\\n\ system(\ return 0; }
7. 1)不用函数,直接写一个主程序计算并输出直径为100 毫米和150 毫米的金、银、铜、 铁、锡球的重量(以kg 为单位输出)。
2)重新完成上面程序,先定义一个带有两个参数的函数,它能求出直径为x 的比重为 y 的圆球的重量,而后在主程序里调用这个函数完成所需工作。将这样得到的解与不用 函数的解比较,比较它们的长度、容易出错的程度。假设现在要求修改所用圆周率的精 度,考虑用两种方式写程序的修改难度。
3)请写程序,求出边长为100 毫米和150 毫米的金、银、铜、铁、锡立方体的重量。 你可以利用前面的程序吗?是否很容易修改前面程序,完成这一计算?比较不用函数的 解法和使用函数的解法在易修改和重复使用方面的效用。
8. 定义函数:double tmax(double, double, double),它返回三个参数中最大的 一个。写一个主函数试验各种参数情况。 答:
#include
double tmax(double x,double y,double z){ if(x>y)
return x>z?x:z; else
return y>z?y:z; }
int main(){
printf(\最大的一个为:%f\ printf(\最大的一个为:%f\ printf(\最大的一个为:%f\ system(\ return 0; }
9. 写函数,它以两个电阻的值作为参数,求出并联的电阻值。
答:并联电阻值的计算公式为:R1*R2/(R1+R2)
10. 如果四边形四个边的长度分别为a、b、c、d ,一对对角之和为2α ,则其面积为:
S = (s ? a)(s ? b)(s ? c)(s ? d ) ? abcd cos2α
其中s =(a + b + c + d)/2。
定义一个函数计算任意四边形的面积。设有一个四边形,其
四条边边长分别为3、4、5、5,一对对角之和为145o ,写程序计算它的面积。
11. 修改已知四边长求四边形面积的函数,增加对各种参数错误情况的检查和处理(如返回 值0),用各种实例数据检查你的函数否检查出所有可能的错误情况。
12. 分析本章正文中给出的求二次方程根的函数,看它缺乏对哪些特殊情况的处理。补充这 些处理,在需要时输出适当的信息,使之成为一个更完整的函数。写一个主函数,用各 种特殊情况和一般情况测试所完成的函数。 答:
#include
void f(double a,double b,double c){ double temp=b*b-4*a*c;
if(a==0)printf(\方程的根为:%f\ if(temp>0)
printf(\方程的根为:%f,%f\ else if(temp==0)
printf(\方程有两个相同的根为:%f\ else
printf(\方程无解!\ }
int main(){
f(5,2,6); //可以测试不同的数据 system(\ return 0; }
13. 写一个简单程序,它输出从1 到10 的整数。 14. 写一个简单程序,它输出从10 到-10 的整数。
15. 写一个两个整型参数的简单函数,它输出从第一个整数到第二个整数为止的整数序列。 16. 用定义函数double power(double x, int n),它求出x 的n 次幂。用主函数试
验很大的n 值(例如令x 值为1),看看会出现什么情况;用大的x 和n 值,看看发生 浮点数计算溢出时会出现什么情况。
17. 写一个程序,它在0~90 度之间每隔5 度输出一行数据,打印一个表。每行中包括5 个 项目:角度数,以及它所对应的正弦、余弦、正切、余切函数值。 答:
#include
int main(){
double s=0*3.1415926/180; int i;
for(i=0;i<=90/5;i++){
printf(\ s+=5*3.1415926/180; }
system(\ return 0;
}18. 查看有关公式,写求解并输出一元三次方程的根的函数。 19. 写出求等差级数的和 ka k
n
=
Σ
1
的函数。两种循环结构给出函数定义,再利用等差级数求和公式给出函数定义。 答:
#include
double f1(int n,double a){ int i;
double sum=0;
for(i=1;i<=n;++i) sum+=i*a; return sum; }
double f2(int n,double a){ int i=1;
double sum=0; while(i<=n){ sum+=i*a; ++i;}
return sum; }
double f3(int n,double a){ return n*(a+n*a)/2; }
int main(){
printf(\ printf(\ printf(\
system(\ return 0; }
20. 请到查出银行一年定期存款的利率和5 年定期存款的利率。假定现在要存入100 元钱, 存款到期后立即将利息与本金一起再次存入。请写出程序,计算按每次存一年和按照每 次存5 年,总共存50 年后两种存款方式的得款总额。对两种情况都每隔5 年输出一次 当时的总金额。
21. 写一个程序打印出2 的顺序各次幂。让它打印出2 的前30 个幂,看看会出现什么情况。 用一个条件为真的循环打印2 的各次幂,看看会出现什么情况。
正在阅读:
从问题到程序--裘宗燕--课后习题部分答案(第三章)09-19
高压氧治疗中重型颅脑损伤的时机及并发应激性消化道溃疡出血的临床观察06-09
宗璞散文语言特色10-22
初一语文下册期末考试试卷及答案08-08
少数民族的节日02-19
集团公司“工人先锋号”管理办法02-26
2012-2013学年度小学英语期末模拟试题(一)106-11
创业计划书SIYB12-21
2018高考英语语法填空及答案06-19
- 通信原理实验报告
- 2016年上半年安徽省临床医学检验技术中级技师职称试题
- 传智播客刘意老师JAVA全面学习笔记
- 星级酒店客房部保洁服务标准与工作流程操作规范 - PA新员
- 算法竞赛入门经典授课教案第1章 算法概述
- 《微信公众平台架起家校互通桥》结题报告
- 2018年宁夏银川市高考数学三模试卷(理)Word版含解析
- 大学生创业基础 - 尔雅
- 2016年6月英语六级真题写作范文3套
- 中国磁性材料纸行业专项调查与发展策略分析报告(2015-2020)
- 云南省2018届高三普通高中学业水平考试化学仿真试卷二Word版缺答案
- 窗函数法设计低通滤波器
- 第三章 绩效考评方法与绩效管理模式
- 高等数学教案
- 个人独资合伙企业习题及答案
- 小学语文沪教版三年级上册第六单元第30课《想别人没想到的》公开课优质课教案比赛讲课获奖教案
- 曳引钢丝绳及其他曳引系统校核计算 - 图文
- 淮阴工学院管理学期末试卷7 - 图文
- 受力分析方法(1)
- 2013-2014学年陕西省西安市西工大附小五年级(上)期末数学试卷及解析
- 课后
- 习题
- 答案
- 第三章
- 部分
- 程序
- 问题
- 磷化工概论-1
- 太仓市2010~2011学年第一学期期末考试 初三数学
- 石寺镇中小学2016年春季运动会解说词
- 历史部编新教材八年级上册第10课 中华民国的创建导学案
- 食品接触面微生物验证规程
- 粗盐提纯实验报告
- 第1课精耕细作农业生产模式的形成
- 国科办厅字82号- 江西农村科技与特派员网- 网站首页
- 三年级应用题精选
- 中山大学岭南学院专业课复习方法
- 交通运输建筑施工企业安全生产标准化达标考评指标
- 蒙牛stp分析
- 2013高考第一轮复习基础再现第三讲 走向世界的资本主义市场
- apue部分试题
- 配电线路工高级技师专业技术工作总结
- 语文版初中语文八年级下册导学案
- 电视节目制作考试
- 幼儿园科学教育专题 形考1答案
- 最新初中人教版八年级数学上册课题 分式的加减公开课教案
- 使用ICE部署WES7镜像 制作x32和x64合盘详解