C基础(26——30)
发表于:2024-11-27 作者:热门IT资讯网编辑
编辑最后更新 2024年11月27日,如果n越大,则递归计算比较慢//#include //#include ////int FibNoRecursion(int n) //斐波那契非递归//{// int a=
如果n越大,则递归计算比较慢//#include//#include ////int FibNoRecursion(int n) //斐波那契非递归//{// int a=0;// int b=1;// int c=a+b;//// if(n==0)// return 0;// if(n==1)// return b;// if(n==2)// return a+b;// for(int i=3;i<=n;i++)// {// a=b;// b=c;// c=a+b;// }// return c;//}//void test()//{// int n=0;// printf("Please input n: ");// scanf("%d",&n);// int ret=FibNoRecursion(n);// printf("Fibonacci(%d) = %d\n",n,ret);//}//int main()//{// test();// system("pause");// return 0;//}//数组实现#include #include int FibNoRecursion(int n) //斐波那契非递归{ int fib_arr[100]={0}; //数组元素全部初始化为0 fib_arr[0]=1; fib_arr[1]=1; int count=0; while(count 结果:
#include#include void test(){ char* str="abcdefghi123" ; int count=0; while(*str) { count++; str++; } printf( "%d\n",count);}int main(){ test(); system( "pause"); return 0;} 结果:
//不用临时变量,即可以用递归来求#include#include int Strlen(char * str){ if(*str =='\0') return 0; if(*str ) { str++; return Strlen(str )+1; }}void test(){ char* str="0abc123def" ; int ret=Strlen(str); printf( "strlen=%d\n",ret);}int main(){ test(); system( "pause"); return 0;} 结果:
#include#include #define N 8void test(){ int arr[N ]={23,88,12,8,37,99,25,0}; for(int i=0;i arr[j]) { int tmp=arr[i]; arr[i]=arr[j]; arr[j]=tmp; } } } //输出 for(int m=0;m 结果:
#include#include void test(){ int a=15; int count=0; while(a) { if(a & 1) //按位与 count++; a=a>>1; } printf( "%d\n",count);}int main(){ test(); system( "pause"); return 0;} 结果: