己写一个求字符串长度的函数
#include<stdio.h> int my_strlen(char* str) { if(*str!='\0') { return my_strlen(str+1)+1; } else return 0; } int main() { char arr[]="china"; int x=my_strlen(arr); printf("%d\n",x); return 0; }
函数求n的阶乘
#include<stdio.h> int fac1(int x) { if(x>1) { return fac1(x-1)*x; } else if(x<=1) return 1; } int main() { int n,ret; scanf("%d",&n); ret=fac1(n); printf("%d",ret); return 0; }
斐波那契数列(第n个斐波那契数等于前两个之和)
函数递归求斐波那契数列
#include<stdio.h> int fab(int x) { if(x<=2) return 1; else return fab(x-1)+fab(x-2); } int main() { unsigned int n,ret; scanf("%d",&n); ret=fab(n); printf("ret=%d\n",ret); return 0; }
函数迭代求斐波那契数列
#include<stdio.h> int fab2(int x) { int a=1; int b=1; int c=1; while(x>2) { c=a+b; a=b; b=c; x--; } return c; } int main() { int n,ret; scanf("%d",&n); ret=fab2(n); printf("%d",ret); return 0; }