函数是一段可以重复使用的代码,用来独立地完成某个功能,它可以接收用户传递的数据,也可以不接收。接收用户数据的函数在定义时要指明参数,不接收用户数据的不需要指明,根据这一点可以将函数分为有参函数和无参函数
#include <stdio.h>
int sum(){
int i, sum=0;
for(i=1; i<=100; i++){
sum+=i;
}
return sum;
}
int main(){
int a = sum();
printf("The sum is %d\n", a);
return 0;
}
斐波那契数列
斐波那契数列是一组第一位和第二位为1,从第三位开始,后一位是前两位和的一组递增数列,
int Fibon1(int n)
{
if (n == 1 || n == 2)
{
return 1;
}
else
{
return Fibon1(n - 1) + Fibon1(n - 2);
}
}
int main()
{
int n = 0;
int ret = 0;
scanf("%d", &n);
ret = Fibon1(n);
printf("ret=%d", ret);
return 0;
}
while(scanf(“%d”, &n) && n)是什么意思
1:输入一个n值 并判断n值
如果n不等于0哪么就执行 while下面的语句。。如果等于0就不执行while下面的语句。 但是这里 我有点纳闷的是scanf函数有返回值吗?
2:scanf(“%d”,&n)是说输入一个整形得字符
&&是AND得意思
简单说A&&B就是A和B必须同时不为0 或者理解为 A B都成立得情况
这里如果你输入一个n 得字符 如果输入得不是空值 比如没有输入
这里就说先输入 在判断 输入的是否为空 如果为空 下面循环不执行
不为空 才执行~
母牛递归问题
int fun(int (n)){
if(n<=3) return n;
else return fun(n-1)+fun(n-3);
}
int main()
{
int n;
while(scanf("%d",&n)&&n)
printf("%d\n",fun(n));
return 0;
}
正确答案
# include<stdio.h>
int fun(int n)
{
if(n<=3) return n;
else return fun(n-1)+fun(n-3);
}
int main()
{
int n;
while(scanf("%d",&n) && n)
printf("%d\n",fun(n));
return 0;
}
确实很简洁,关键就是在while(scanf("%d",&n) && n),表达的意思是输入一个n,如果不是0就往下走。
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复