- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
([高级语言程序设计第6章参考答案
1.6.3习题解答
编程题
1.写两个函数,分别求两个整数的最大公约数和最小公倍数,用主调函数调用这两个函数,并输出结果。两个整数由键盘输入。
分析:
求两个数a和b的最大公约数:
设这个数为x,则x一定小于等于a和b中的较小者min(a,b)。在区间[1, min(a,b)]中能找到的最后一个同时被a和b整除的那个数,就是a和b的最大公约数x。
求两个数a和b的最小公倍数:
设这个数为x,则x一定大于等于a和b中的较大者max(a,b),而小于等于a*b。在区间[max(a,b), a*b ]中找到的第一个能同时整除a和b的那个数,就是a和b的最小公倍数x。
参考程序代码:
#include stdio.h
f1(int a, int b)/*求最大公约数*/
{
int x,i;
for(i=1;i=(a=b?a:b);i++)
{
if(a%i==0b%i==0)
{
x=i;
}
}
printf(\n最大公约数为: %d\n,x);
}
f2(int a, int b)/*求最小公倍数*/
{
int i,x;
for(i=((ab)?a:b);i=a*b;i++)
{
if(i%a==0i%b==0)
{
x=i;
break;
}
}
printf(\n最小公倍数为: %d\n,x);
}
void main()
{
int a,b;
printf(\n请输入两个数:\n);
printf(a=);scanf(%d, a);
printf(b=);scanf(%d, b);
f1(a, b);
f2(a, b);
}
运行结果:
2.编写一个函数,其功能是对于给定的一个时间数(秒为单位),以“时:分:秒”的格式输出。
参考程序代码:
#include stdio.h
print_time(long second)
{
int hour,minute;
hour=(second/3600)%24;
second%=3600;
minute=second/60;
second%=60;
printf(%d:%d%ld\n, hour, minute, second);
}
void main()
{
long s;
printf(请输入秒数:);
scanf(%ld, s);
print_time(s);
}
运行结果:
3.编写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。
分析:
素数指的是是指该数除了1和本身,不再有其他因子。考虑到完全平方数的因素,只需要考察从2到该数的平方根这个区间,如果该区间中没有因子,则该数是素数,否则不是素数。
参考程序代码:
#include stdio.h
#include math.h
f(int x)/*判断x是否素数*/
{
int i,sign=0;;
for(i=2;i=(int)sqrt(x);i++)
{
if(x%i==0)
{
++sign;
break;
}
}
if(sign!=0)
printf(\n该数不是素数\n);
else
printf(\n该数是素数\n);
}
void main()
{
int a;
printf(请输入一个整数:\n);
scanf(%d,a);
f(a);
}
运行结果:
4. C语言中在函数之间进行数据传递的方法除了通过返回值和全局变量外,还可以采用哪种方式?请以求两个数中的较大者为例,分别编程实现。
分析:
函数之间传递数据的方法一般有三种方式:
通过返回值
通过全局变量
通过函数调用的实参
代码请自行实现。
5.用递归算法求下列函数的值。
注意选择好合适的参数类型和返回值类型。在main()函数中,输入下列三组数据:
(a)n=0,x=7; (b)n=1,x=2; (c)n=3,x=4求出相应的函数值。
分析:
该函数为分段函数,当n1时为勒让德多项式,可以利用函数的递归调用求其值。
参考程序代码:
#include stdio.h
double pn(double x, int n)
{
if(n==0) return 1;
if(n==1) return x;
return 1.0*((2*n-1)*x-pn(x,n-1)-(n-1)*pn(x,n-2))/n;
}
main()
{
double pn(double x,int n);
double x;
int n;
printf(\n请输入参数x与n\n);
prin
您可能关注的文档
- ([高中高一物理上册复习教学知识点归纳总结,期末测试试题习题大全.doc
- ([高二3月月考·历史卷.doc
- ([高中历史必修三-专题一中国传统文化主流思想的演变.doc
- ([高二上学期期末考试政治试题.doc
- ([高二下第一次段考文科试卷.doc
- ([高二下语文月考试卷附答案.doc
- ([高二历史必修3第一单元单元综合检测含答案.doc
- ([高二历史期中考试修改后的.doc
- ([高二历史期中考试卷.doc
- ([高二历史期末复习卷一.doc
- 汽车4S店员工内训课件07奥迪4S店新员工培训.pdf
- 辽宁省第二届职业技能大赛(轨道车辆技术赛项)理论参考试题库(含答案).pdf
- 2024年第四届全国工业设计职业技能大赛决赛(包装设计师)理论考试题库(含答案).pdf
- 精品解析:2022年广西壮族自治区学业水平考试押题预测卷 (一)历史试题(原卷版).docx
- 2024版《立体构成》全套课件完整版.ppt
- 《机上应急医疗》习题及答案.docx
- 2024年儿童保健技能大赛理论考试题库500题(含答案).pdf
- 计算机整机装配调试员技能竞赛备考试题库(含答案).pdf
- 《机床电气控制与PLC》期末试卷-A卷及答案.doc
- C++程序设计教程课件-C++多态与虚函数课件.pdf
最近下载
- 2024年工商银行人工智能大模型白皮书.pdf
- 提质增效施工组织设计.docx
- 2024年下半年北京夏都妫川人力资源有限公司招聘食品药品安全监察员12人笔试备考试题及答案解析.docx
- 2023年中国石油大学(北京)克拉玛依校区数据科学与大数据技术专业《计算机网络》科目期末试卷B(有答案).docx VIP
- 2024新人教版一年级数学上册综合与实践单元数学游戏单元整体教学设计.pdf VIP
- 教师资格考试结构化面试100题(含答案).pdf
- JG-D02 环境监测仪技术规范书.doc
- 班组安全活动记录表.pdf
- 大数据技术在继电保护领域的研究与应用-电力信息与通信技术.pdf VIP
- 重庆市某办公楼土建工程施工图预算编制.docx
文档评论(0)