




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实用C语言简明教程第7章习题参考答案1.C2.int add (int x, int y, int *z ) return *z=x+y;3. #include stdio.hvoid fun(int *x, int *y, int z) printf(%d,%d,%dn,*x,*y,z); *x=8; *y=5; z=(*x)/(*y);/红色部分为Turbo 2中实际运行的正确形式,否则“/*”有歧义main() int a=1,b=2,c=3; fun(&a,&b,c); printf(%d,%d,%dn,a,b,c);运行结果:1,2,38,5,34.void(*p)()5. 注意递归回退时,前面各次递归中未执行完的代码仍要执行,第1次调用sub()时,n=8,k=1第2次调用sub()时,n=4,k=2第3次调用sub()时,n=2,k=4,停止递归执行*x+=k,即*x=4;接着开始递归回退过程,执行第2次调用sub()时未执行的*x+=k,这时k=2,得*x=6;返回第1次调用sub()时未执行的*x+=k,这时k=1,得*x=7;运行结果:7上机实习题1. #include void calc(int x, int y, int *gcd, int *lcm);main() int a,b,c,d; printf(nPlease enter two integers(a,b):); scanf(%d,%d,&a,&b); calc(a,b,&c,&d); printf(nThe greatest common divisor of %d and %d is %d.,a,b,c); printf(nThe least common multiple of %d and %d is %d.,a,b,d);void calc(int x, int y, int *gcd, int *lcm) int max,min,i; if(x=y) max=x; min=y; else max=y; min=x; for(i=1;(max*i)%min!=0;i+); *gcd=max*i; for(i=min;i=1;i-) if(max%i=0&min%i=0) *lcm=i; break; 2.A. 直接按教材题意4种计算都在一个函数doit中实现:#include stdio.hint doit(int a, int b, int m);main() int a,b,i; printf(nPlease enter 2 integers(a,b):); scanf(%d,%d,&a,&b); for(i=1;i=4;i+) printf(nThe %d result is %d.,i,doit(a,b,i); int doit(int a, int b, int m) switch(m) case 1: if(a=b)return a; else return b; case 3: return a+b; case 4: return a*b; B. 根据本章教学内容为指针,采用函数指针实现(但与题意并不完全体符合,因为是4个不同函数,doit作为函数指针调用这4个函数)#include stdio.hint min(int a, int b);int max(int a, int b);int sum(int a, int b);int product(int a, int b);main() int a,b,i; int(*doit)(); printf(nPlease enter 2 integers(a,b):); scanf(%d,%d,&a,&b); for(i=1;i=4;i+) switch(i) case 1: doit=min; break; case 2: doit=max; break; case 3: doit=sum; break; case 4: doit=product; break; (*doit)(a,b); int min(int a, int b) if(a=b)printf(nmaximum=%d,a); else printf(nmaximum=%d,b);int sum(int a, int b) printf(nsum=%d,a+b);int product(int a, int b) printf(nproduct=%d,a*b);3.#include #include #include double fun(double *x,double *y) double z; z=sqrt(*x)+sqrt(*y); return z;main() double a,b,c; printf(input a,b:); scanf(%lf%lf,&a,&b); c=fun(&a,&b); printf(c=%lfn,c);4.#include #include void fun(int a, int b, long *c) if(a=10&a=10&b=99) *c=b/10; *c=*c+(a%10)*10; *c=*c+(b%10)*100; *c=*c+(a/10)*1000; else printf(input error!
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金融合同金融租赁资金信托合同5篇
- 2025健身房转让合同模板格式
- 2025成都诺克衣柜经销商合同范本
- 2025全日制用工新劳动合同书
- 任务二 超市、菜场购物说课稿-2023-2024学年初中劳动八年级下册浙教版
- 第5课 画多边形教学设计-2023-2024学年小学信息技术(信息科技)第三册黔教版
- 2025成都劳动合同样本(合同版本)
- 2025年个人汽车质押担保借款合同范本
- 2025关于租地合同
- DNA是主要的遗传物质-教学设计
- 2025发展对象考试试题库及参考答案(完整版)
- 妇产科开展宫腔镜手术的可行性报告
- DB54∕T 0275-2023 民用建筑节能技术标准
- 中国工运史课件
- 髋关节置换术后讲课件
- 人才画像管理制度
- 胖东来导购管理制度
- 房屋合同暂不过户协议书
- 学校聘请校医协议书
- 探究车用锂离子动力电池热失控的引发机制、过程建模与防控策略
- 房屋产权转赠合同协议模板
评论
0/150
提交评论