1、将任意正整数化为二进制形式

(1)、代码如下:

#include<stdio.h>voiddigui(intn){intc;c=n%2;if(n>0){digui(n/2);printf("%d",c);}}intmain(void){intn;scanf("%d",&n);digui(n);printf("\n");return0;}

(2)、运行结果:



2、将任意正整数转化为十六进制形式

(1)、代码如下:

#include<stdio.h>voiddigui(intn);voiddigui(intn){intc;c=n%16;if(n>0){digui(n/16);if(c>=10){printf("%c",c-10+'A');}else{printf("%d",c);}}}intmain(void){intn;scanf("%d",&n);digui(n);printf("\n");return0;}

(2)、运行结果:


3、求前N个整数和

(1)、代码如下:

#include<stdio.h>intsum(intn){if(n==0){return0;}returnn+sum(n-1);}intmain(void){intnumber;intn;scanf("%d",&number);n=sum(number);printf("%d\n",n);return0;}

(2)、结果如下:



4、利用递归求每个斐波那契数列

(1)、代码如下:

#include<stdio.h>intfibo(intnum){if(num==0){return0;}if(num==1){return1;}returnfibo(num-1)+fibo(num-2);}intmain(void){intnum;//第4个fibionaqie(从0开始算起)数字是:0、1、1、2、3、5、8....intcount;scanf("%d",&num);count=fibo(num);printf("%d\n",count);}

(2)、运行结果:


5、利用递归求字符串的长度

(1)、代码如下:

#include<stdio.h>#include<string.h>intstrLen(char*str);intstrLen(char*str){if(*str==0){return;}return1+strLen(str+1);}intmain(void){charstr[80];intlen;gets(str);len=strLen(str);printf("%d\n",len);}

(2)、运行结果: