目录
7-249 递归函数输出一个十进制整数的二进制形式
分数 100
全屏浏览题目
切换布局
作者 于延
单位 哈尔滨师范大学
任务描述
编写函数,函数的参数是整数N,在函数中输出整数N的二进制形式。主函数中输入整数a和b,输出从a到b的所有整数的二进制形式。
输入样例:
10 15
输出样例:
1010
1011
1100
1101
1110
1111
#include<stdio.h>
void dectobin(int n)
{
if (n == 0)
return;
else
{
dectobin(n / 2);
printf("%d", n % 2);
}
}
int main()
{
int n,a;
scanf("%d%d",&n,&a);
for (int i = n; i <= a; ++i) {
dectobin(i);
printf("\n");
}
return 0;
}
7-250 递归函数输出一个十进制整数的十六进制形式
分数 100
全屏浏览题目
切换布局
作者 于延
单位 哈尔滨师范大学
任务描述
编写函数,函数的参数是整数N,在函数中输出整数N的十六进制形式(递归方法实现)。主函数中输入整数a和b,输出从a到b的所有整数的十六进制形式。具体输出格式参考样例。
输入样例:
200 210
输出样例:
C8 C9 CA CB CC CD CE CF D0 D1 D2
输入样例:
20000 20010
输出样例:
4E20 4E21 4E22 4E23 4E24 4E25 4E26 4E27 4E28 4E29 4E2A
#include<stdio.h>
void fun(int N)
{
if(N/16==0) //递归结束条件
{
if(N%16<10) //判断十六进制最后一个数是否>=10
putchar(N%16+'0'); //若不是+'0'转换为字符型输出
else
{
putchar(N%16-10+'A'); //若是转化为字母输出
}
return;
}
fun(N/16);
if(N%16<10) //递归输出十六进制数
{
putchar(N%16+'0');
}
else
{
putchar(N%16-10+'A');
}
}
int main()
{
int a,b;
scanf("%d %d",&a,&b);
for(int i=0;i<=b-a;i++)//循环输出a->>b所有数
{
if(i==b-a)//注意格式结尾无空格
{
fun(a+i);
break;
}
fun(a+i);
putchar(' ');
}
return 0;
}