1、将任意正整数化为二进制形式
(1)、代码如下:
#include<stdio.h>
void digui(int n){
int c;
c = n%2;
if(n > 0){
digui(n/2);
printf("%d", c);
}
}
int main(void){
int n;
scanf("%d", &n);
digui(n);
printf("\n");
return 0;
}
(2)、运行结果:
2、将任意正整数转化为十六进制形式
(1)、代码如下:
#include<stdio.h>
void digui(int n);
void digui(int n){
int c;
c = n%16;
if(n > 0){
digui(n/16);
if(c >= 10){
printf("%c", c-10+'A');
}else{
printf("%d", c);
}
}
}
int main(void){
int n;
scanf("%d", &n);
digui(n);
printf("\n");
return 0;
}
(2)、运行结果:
3、求前N个整数和
(1)、代码如下:
#include<stdio.h>
int sum(int n){
if(n == 0){
return 0;
}
return n+sum(n-1);
}
int main(void){
int number;
int n;
scanf("%d", &number);
n = sum(number);
printf("%d\n", n);
return 0;
}
(2)、结果如下:
4、利用递归求每个斐波那契数列
(1)、代码如下:
#include<stdio.h>
int fibo(int num){
if(num == 0){
return 0;
}
if(num == 1){
return 1;
}
return fibo(num-1)+fibo(num-2);
}
int main(void){
int num; //第4个fibionaqie(从0开始算起)数字是:0、1、1、2、3、5、8....
int count;
scanf("%d", &num);
count = fibo(num);
printf("%d\n", count);
}
(2)、运行结果:
5、利用递归求字符串的长度
(1)、代码如下:
#include<stdio.h>
#include<string.h>
int strLen(char *str);
int strLen(char *str){
if(*str == 0){
return;
}
return 1+strLen(str+1);
}
int main(void){
char str[80];
int len;
gets(str);
len = strLen(str);
printf("%d\n", len);
}
(2)、运行结果:
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。