- 1、本文档共30页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言作业6
36 杀鸡用牛刀——要用递归啊!
成绩: 5 / 折扣: 0.8
背景:??? 哈哈!我们终于学了递归了,现在大家一定感到非常有意思吧,那个典型的“汉诺塔”问题,一个非常短的程序居然可以完成如此复杂的工作,真是神奇啊!来吧,让我们也动手编写一个递归程序,当然,我们要编写的不可能太复杂。
功能:??? 求整数 n 到 m 区间的累加和,其中n=m。
输入:??? 区间的起始点n? ?区间的终止点m
输出:??? 累加和
要求:??? 使用递归算法完成。如此简单的题目当然要有隐含的测试用例啦,就3个,看看谁能猜出来。
? 测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 以文本方式显示
1?10? 以文本方式显示
The?sum?from?1?to?10?is?55.? 1秒 64M 0 测试用例 2 以文本方式显示
10?15? 以文本方式显示
The?sum?from?10?to?15?is?75.? 1秒 64M 0 #includestdio.h
int sum(int a,int b)
{
int result=0;
if(b-a==1)
{result=a+b;}
else if(b==a)
{result=a;}
else
{
result=sum(a,b-2)+sum(b-1,b);
}
return result;
}
int main()
{
int a,b;
scanf(%d%d,a,b);
printf(The sum from %d to %d is %d.\n,a,b,sum(a,b));
}
37 求最大公约数——递归
成绩: 5 / 折扣: 0.8
请使用递归算法计算正整数n和m的最大公约数GCD(n,m)。
??????????? = m??????????? ?当 m=n 且 n mod m =0GCD(N,M) = GCD(m,n)? ?当nm时?????????????????????= GCD(m, n mod m)??? ?其他
输入:??????? n和m
输出:??????? n和m的最大公约数
? 测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 以文本方式显示
24?48? 以文本方式显示
24? 1秒 64M 0 测试用例 2 以文本方式显示
13?15? 以文本方式显示
1? 1秒 64M 0 #includestdio.h
int f(long a,long b)
{
long result;
long temp=a%b;
if(temp==0)
result=b;
else
result=f(b,temp);
return result;
}
int main()
{
long a,b;
scanf(%ld%ld,a,b);
long temp;
if(ab)
{
temp=a;
a=b;
b=temp;
}
printf(%ld\n,f(a,b));
}
38 回文字符串——递归
成绩: 5 / 折扣: 0.8
??? 有一种特殊形式的字符串,其正反序相同,被称为“回文字符串”。例如LeveL就是一个回文字符串。
输入:????? ??? 字符串
输出:????? ??? Yes或者No
说明:????? ??? 如输出Yes,说明输入的字符串是一个回文字符串????? ??? 输出No,说明输入的字符串不是一个回文字符串????? ??? 请使用递归算法实现。
? 测试输入 期待的输出 时间限制 内存限制 额外进程 测试用例 1 以文本方式显示
LeveL? 以文本方式显示
Yes? 1秒 64M 0 #includestdio.h
int judge(char *p,int start,int n)
{
if((start==n/2)(*(p+start)==*(p+n-1-start)))
return 0;
else if(*(p+start)==*(p+n-1-start))
return judge(p,start+1,n);
else
return 1;
}
int main()
{
char word[50];
int n=0;
int start=0;
gets(word);
for(int i=0;i50;i++)
{
if(word[i]==\0)
break;
n++;
}
if(judge(word,start,n)==0)
printf(Yes\n);
else
printf(No\n
您可能关注的文档
最近下载
- 2024年深圳市福田外国语学校小升初入学分班考试数学模拟试卷附答案解析.pdf VIP
- 湿地工程验收工作方案(3篇).docx
- 2024年中级出版专业技术人员职业资格真题含答案.docx VIP
- 小学信息技术教师业务考试试题包括参考.doc VIP
- 智慧园区管理平台整体解决方案.docx
- 光信息专业实验报告:WDM光波分复用器 (14).doc VIP
- 行政处罚案卷制作与评查-北京住房城乡建设系统执法平台.ppt VIP
- 13EZ001 湖北省市政公用工程细部构造做法.docx VIP
- 市场营销学(第三版)教学课件第20章 组织市场的营销管理PPT.pptx
- 超声波清洗机设备安装、运行验证报告(模板).pdf
文档评论(0)