如何使用 c 语言编写一个 fibonacci 数列程序?

如何使用 c 语言编写一个 fibonacci 数列程序?,第1张

斐波那契数列是一种由0和1开始,后面每一项都是前两项之和的数列,例如:0, 1, 1, 2, 3, 5, 8, 13, …。

// 定义一个函数,返回斐波那契数列的第n项

int fibonacci(int n) {

// 如果n为0或1,直接返回n

if (n == 0 || n == 1) {

return n

}

// 否则,返回前两项之和

else {

return fibonacci(n - 1) + fibonacci(n - 2)

}

}

// 在主函数中测试

#include <stdio.h>

int main() {

// 定义一个变量,表示要求的项数

int n = 10

// 打印结果

printf("The %dth term of Fibonacci sequence is %d\n", n, fibonacci(n))

// 返回0

return 0

}

#include<stdio.h>

main()

{

doublefib[51],n,m,k

fib[0]=0

fib[1]=1

scanf("%lf",&n)

while(1){

if(n==0){

printf("0\n")

}

if(n==1){

printf("1\n")

}

for(inti=2i<=50i++)

{

fib[i]=fib[i-2]+fib[i-1]

if(i==n){

printf("%.0lf\n",fib[i])

}

}

scanf("%lf",&n)

if(n==-1){

break

}

}

return0

}

扩展资料:

main()应用:

1、C++中的main函数

C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,

但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,不能写成某个结构体或某个类的成员。

虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。

C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。

2、Java中的main函数

Java同样是以main函数作为程序执行出入口的,但Java作为“更纯洁”的面向对象语言,它的main函数与C/C++有很大的不同。

首先,返回值的概念淡化,在JavaApplication中main不允许返回值,因此intmain是被禁止的,必须使用voidmain,intmain仅限在JavaBean中使用。

其次,Java中所有的函数必须属于类,没有什么全局函数一说,因此main函数不能是全局成员,必须是某个类的成员。

第三,由于main函数变成了类的成员函数,因此要想直接被系统调用,还必须使用publicstatic使其成为静态函数并具有公开权限。

第四,main函数的参数被简化,只需要提供字符串数组即可,不需要提供参数个数(这是由于Java的数组具有下标检查功能的原因)

JavaApplication中的main函数一般格式如下(类名可以自定义,但保存为Java源码时,主文件名必须与类名相同,否则可能无法运行)

publicclassMainDemo{

publicstaticvoidmain(String[]args){

//TODO:在此处写入主函数的内容

}

}

JavaApplet的运行机制与JavaApplication完全不同,因此不需要main函数

3、C#中的main函数

C#中的main函数与Java大同小异,同样必须是类成员,同样使用字符串数组作唯一参数,同样是静态函数,同样的voidmain,

与之不同的是:main的首字母变成了大写,即"Main函数“,且是否限定为public级别已经无所谓了(默认没有public,但某些场合可能还是需要public)

另外,需要注意的是,C#中不再有”类名必须与主文件名同名“的限制,即使类名不和主文件名相同,程序照样可以运行。

C#应用程序中的main函数默认是这样的(注意main的首字母已是大写)

C#和C/C++、java不同的是C#不在拘泥于必须从main()函数开始执行,C#是属于事件触发。

classProgram{

staticvoidMain(string[]args){

//TODO:在此处写入主函数的内容

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7765942.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-09
下一篇 2023-04-09

发表评论

登录后才能评论

评论列表(0条)

保存