当前位置:网站首页>【函数与递归】7.19
【函数与递归】7.19
2022-08-03 05:11:00 【tt142】
从今天开始就以所学内容进行命名,再也不担心记不住数字哈哈
今天还是学了一些函数的内容,很少一点的收尾,主要接触到一种新的语句,递归
初识还是很有难度的对我来说,一点都不简单,学了五个小时也算是才刚刚入门
现在的知识真的是连C语言的门槛都还没看见。。
#include<stdio.h>
//史上最简单的递归
int main()
{
printf("hehe");
main()
return 0;
} //可能存在stack overflow的问题
//接受一个无符号整型,并且按顺序打印,例如1234->1 2 3 4
void print(int x)
{
if(x>9)
print(x/10);
printf("%d ",x%10);
}
int main()
{
unsigned int a =0;
scanf("%d",&a);
print(a);
return 0;
}
//编写函数,不允许创建临时变量,求字符串长度
int my_strlen(char* x)
{
if(*x != '\0')
return 1+my_strlen(x+1);
else
return 0;
}
int main()
{
char arr[]="dada";
int ret=my_strlen(arr);
printf("%d",ret);
return 0;
}
//描述第n个斐波那锲数:
/首先用递归的方法写,并且表明循环工作量
int count;
int Fib(int x)
{
if(x == 2)
count++;
if(x>2)
return Fib(x-2)*Fib(x-1);
else
return 1;
}
int main()
{
int n=0;
scanf("%d",&n);
int ret= Fib(n);
printf("%d",ret);
printf("%d",count);
return 0;
}
//发现效率低下,改成函数方式
int count;
int Fib(int x)
{
int a, b=0;
int c=1;
for(a=1,b=1,c=1;x>2;count++,x--)
{
c=a + b ;
a=b;
b=c;
}
return c;
}
int main()
{
int n =0;
scanf("%d",&n);
int ret =Fib(n);
printf("ret=%d\n",ret);
printf("count=%d",count);
return 0;
}
//求n阶乘
int Fac(int x)
{
if(x>1)
return x*Fac(x-1);
else
return 1;
}
int main()
{
int n=0;
scanf("%d",&n);
int ret = Fac(n);
printf("%d",ret);
return 0;
}边栏推荐
猜你喜欢

web安全-命令执行漏洞
breed Web刷机升级详细教材修正编译器固件说明_itkeji.top

集合框架知识

传说中可“免费白拿”的无线路由器 - 斐讯 K2 最简单刷 breed 与第三方固件教程

Tag stack - stack monotonically preparatory knowledge - lt. 739. The daily temperature

【Biotin Azide|cas:908007-17-0】Price_Manufacturer

第四次培训

JS学习笔记(三)

typescript39-class类的可见修饰符

Exception (abnormal) and Error (error) difference analysis
随机推荐
web安全-PHP反序列化漏洞
Makefile语法
3. 无重复字符的最长子串
用pulp库解决运输问题【详细】
-一尺之棰-
1054 求平均值 (20 分)
1058 选择题 (20 分)(C语言)
Talking about GIS Data (6) - Projected Coordinate System
PotPlayer实现上班摸鱼电视自由
ModelArts第二次培训
Newifi路由器第三方固件玩机教程,这个路由比你想的更强大以及智能_Newifi y1刷机_smzdm
13.< tag-动态规划和回文字串>lt.647. 回文子串 + lt.516.最长回文子序列
Shell conditional statement judgment
Kaggle 入门(Kaggle网站使用及项目复现)
Djiango第二次培训
-角谷猜想-
typescript43-类型兼容性说明
传说中可“免费白拿”的无线路由器 - 斐讯 K2 最简单刷 breed 与第三方固件教程
-元素之和-
HarmonyOS应用开发培训第二次作业