博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言程序设计实践(OJ)-递归函数与宏
阅读量:5825 次
发布时间:2019-06-18

本文共 1955 字,大约阅读时间需要 6 分钟。

2968: 递归方法实现逆序

Description

你知道递归么?简单来说,递归就是函数自身对自身的调用,直到遇到终止条件,再对数据做逆向处理,下面就有一个递归的简单例子等你来处理。

#include 
void inverted(int); /*函数声明*/int main(){ int n; /*需要逆序的整数*/ scanf("%d",&n); inverted(n); /*调用逆序函数*/ return 0;}void inverted(int n){ if(n<10) /*当数字只剩一位的时候,即第一位数,输出,变为末位,返回*/ { printf("%d",n); return; } /***************/ /***************/ return;}

Input

一个int型整数

Outputt

转换后的整数

Sample Input

1234567
Sample Outputt
7654321

2747: 进制转换(十进制转二进制)

Description

输入一个非负整数(十进制),输出此整数对应的二进制数

Input

正整数(十进制)

Outputt

对应的二进制数

Sample Input

6
Sample Outputt
110

1942: 进制转换

Description

输入一个十进制数N,将它转换成R进制数输出。

Input

输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。

Outputt

为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。

Sample Input

7 2
23 12
-4 3
Sample Outputt
111
1B
-11

2021: 汉诺塔

Description

汉诺塔(又称河内塔)问题是印度的一个古老的传说。开天辟地的神勃拉玛在一个庙里留下了三根金刚石的棒A、B和C,A上面套着n个圆的金片,最大的一个在底下,其余一个比一个小,依次叠上去,庙里的众僧不倦地把它们一个个地从A棒搬到C棒上,规定可利用中间的一根B棒作为帮助,但每次只能搬一个,而且大的不能放在小的上面。僧侣们搬得汗流满面,可惜当n很大时这辈子恐怕就很搬了 聪明的你还有计算机帮你完成,你能写一个程序帮助僧侣们完成这辈子的夙愿吗?

Input

输入金片的个数n。这里的n<=10。

Outputt

输出搬动金片的全过程。格式见样例。

Sample Input

2
Sample Outputt
Move disk 1 from A to B
Move disk 2 from A to C
Move disk 1 from B to C

1056: (用宏)输出已交换后的两个值

Description

定义一个带参的宏(或者模板函数),带有三个参数,第一个参数为类型,后两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。

Input

两个短整型数,空格隔开
两个小数,空格隔开
两个长整数,空格隔开

Outputt

交换后的两个数,空格隔开

Sample Input

1 2
1.5 2.5
65535 2147483647
Sample Outputt
2 1
2.5 1.5
2147483647 65535

2970: 利用参数宏进行角度与弧度转换

Description

定义参数宏AngleToRadian(degree,minute,second),将度(degree)、分(minute)、秒(second)转换为弧度。(#define PI 3.14159

#include 
#define PI 3.14159/**********/在此补充缺少的代码/**********/int main(){ double degree,minute,second; scanf("%lf %lf %lf",&degree,&minute,&second); printf("%f",AngleToRadian(degree,minute,second)); /*参数宏会被替换为定义的表达式,算出结果后输出*/ return 0;}

Input

度,分,秒

Outputt

转换后的弧度

Sample Input

180 0 0
Sample Outputt
3.141590

转载地址:http://ktpdx.baihongyu.com/

你可能感兴趣的文章
Flask 源码流程,上下文管理
查看>>
stream classdesc serialVersionUID = -7218828885279815404, local class serialVersionUID = 1.
查看>>
ZAB与Paxos算法的联系与区别
查看>>
Breaking parallel loops in .NET C# using the Stop method z
查看>>
修改故障转移群集心跳时间
查看>>
[轉]redis;mongodb;memcache三者的性能比較
查看>>
微软职位内部推荐-Sr DEV
查看>>
让你的WPF程序在Win7下呈现Win8风格主题
查看>>
JDBC二查询(web基础学习笔记八)
查看>>
802.11 学习笔记
查看>>
Leetcode-Database-176-Second Highest Salary-Easy(转)
查看>>
构建Docker Compose服务堆栈
查看>>
最小角回归 LARS算法包的用法以及模型参数的选择(R语言 )
查看>>
Hadoop生态圈-Kafka常用命令总结
查看>>
如何基于Redis Replication设计并实现Redis-replicator?
查看>>
浮点数内存如何存储的
查看>>
贪吃蛇
查看>>
EventSystem
查看>>
用WINSOCK API实现同步非阻塞方式的网络通讯
查看>>
玩一玩博客,嘿嘿
查看>>