Description 你知道递归么?简单来说,递归就是函数自身对自身的调用,直到遇到终止条件,再对数据做逆向处理,下面就有一个递归的简单例子等你来处理。
#include <stdio.h> 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 参考解答
Description 输入一个非负整数(十进制),输出此整数对应的二进制数
Input 正整数(十进制)
Outputt 对应的二进制数
Sample Input 6 Sample Outputt 110 参考解答
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 参考解答
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 参考解答
Description 定义一个带参的宏(或者模板函数),带有三个参数,第一个参数为类型,后两个参数的值互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。
Input 两个短整型数,空格隔开 两个小数,空格隔开 两个长整数,空格隔开
Outputt 交换后的两个数,空格隔开
Sample Input 1 2 1.5 2.5 65535 2147483647 Sample Outputt 2 1 2.5 1.5 2147483647 65535 参考解答
Description 定义参数宏AngleToRadian(degree,minute,second),将度(degree)、分(minute)、秒(second)转换为弧度。(#define PI 3.14159)
#include <stdio.h> #define PI 3.14159 /**********/ 在此补充缺少的代码 /**********/ int main() { double degree,minute,second; scanf("%lf %lf %lf",°ree,&minute,&second); printf("%f",AngleToRadian(degree,minute,second)); /*参数宏会被替换为定义的表达式,算出结果后输出*/ return 0; }Input 度,分,秒
Outputt 转换后的弧度
Sample Input 180 0 0 Sample Outputt 3.141590 参考解答
