#define _CRT_SECURE_NO_WARNINGS 1
//求第n个斐波那契s数 1 1 2 3 5 8 13 21 34....
//1、递归法
/*#include<stdio.h>
int fib(int n)
{
if(n<=2)
return 1;
else
return fib(n-1)+fib(n-2);
}
int main()
{
int n=0;
int ret=0;
scanf("%d",&n);
ret=fib(n);
printf("ret=%d\nk",ret);
return 0;
}
//2、迭代法
#include<stdio.h>
int fib(int n)
{
int nprev=1;
int npprev=1;
int nv=1;
while(n>2)
{
nv=nprev+npprev;
npprev=nprev;
nprev=nv;
n--;
}
return nv;
}
int main()
{
int n=0;
int i=0;
scanf("%d",&n);
printf("第n个斐波那契数为:%d\n",fib(n));
}
//求n的k次方
#include<stdio.h>
int Cifang(int n,int k)
{
if(k==0)
return 1;
if(k==1)
return n;
else
{
return n*Cifang(n,k-1);
}
}
int main()
{
int n=0;
int k=0;
int ret=0;
scanf("%d%d",&n,&k);
ret=Cifang(n,k);
printf("ret=%d\n",ret);
return 0;
}
//输出一个整数的每一位
#include<stdio.h>
int print(int n)
{
while(n!=0)
{
int i=0;
i=n%10;
n=n/10;
printf("%d ",i);
print(n);
break;
}
return 0;
}
int main()
{
int n=0;
scanf("%d",&n);
print(n);
return 0;
}
//求n的阶乘
#include<stdio.h>
int factorial(int n)
{
if(n>1)
{
return n*factorial(n-1);
}
else
return 1;
}
int main()
{
int n=0;
scanf("%d",&n);
printf("%d\n",factorial(n));
return 0;
}
#include<stdio.h>
int factorial(int n)
{
int i=0;
int ret=1;
for(i=1;i<=n;i++)
{
ret=ret*i;
}
return ret;
}
int main()
{
int n=0;
int ret=0;
scanf("%d",&n);
ret=factorial(n);
printf("ret=%d\n",ret);返回组成它的数字之和
return 0;
}
//写一个函数,输入它的非负整数,
#include<stdio.h>
int DigitSum(int n)
{
if(n<10)
return n;
else
{
return n%10+DigitSum(n/10);
}
}
int main()
{
int n=0;
int ret=0;
scanf("%d",&n);
ret=DigitSum(n);
printf("ret=%d\n",ret);
}
//将参数字符串中的字符反向排列
#include<stdio.h>
void reverse_string(char*arr)
{
if(*arr=='\0')
printf("%c ",*arr);
else
{
reverse_string(++arr);
printf("%c ",*(--arr));
}
}
int main()
{
char arr[]="abcedf";
reverse_string(arr);
return 0;
}
//递归和非递归实现strlen
#include<stdio.h>
int my_strlen(const char*str)
{
if(*str=='\0')
return 0;
else
return (1+my_strlen(str+1));
}
int main()
{
char*p="abcdef";
int len=my_strlen(p);
printf("%d\n",len);
return 0;
}*/
#include<stdio.h>
int main()
{
char arr[]="abcdef";
int count=0;
int i=0;
for(i=0;arr[i]!='\0';i++)
{
count++;
}
printf("%d\n",count);
return 0;
}
程序5
最新推荐文章于 2020-03-18 11:00:33 发布