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)、运行结果:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。