本文共 954 字,大约阅读时间需要 3 分钟。
#include#include #define Size 3void Fib(int n){ long *S = (long *)malloc(Size * sizeof(long)); S[0] = 1; S[1] = 1; if (n == 1) { printf("%ld\n", S[0]); } else if (n == 2) { printf("%ld %ld\n", S[0], S[1]); } else { int i = 3; S[2] = 2; printf("%d %d ", 1, 1); while (i <= n) { printf("%ld ", S[2]); S[0] = S[1]; S[1] = S[2]; S[2] = S[1] + S[0]; i++; } printf("\n"); } return;}int main(){ int n; scanf("%d", &n); if (n >= 1) { Fib(n); } else { printf("error!\n"); } return 0;}
这段代码实现了斐波那契数列的计算功能。首先,程序包含了必要的头文件<stdio.h>
和<stdlib.h>
。定义了一个常量Size
为3,用于内存分配。函数Fib
用于计算斐波那契数列,接受一个整数参数n
表示要计算的项数。程序通过动态内存分配为数列元素预留空间,并初始化前两项为1。对于n
等于1和2的情况,分别输出单独的数值或两个数值。对于更大的n
,程序使用循环从第三项开始计算,并每次循环更新当前项的值。最后,程序在main
函数中读取输入的项数n
,并根据其值调用Fib
函数或输出错误信息。
转载地址:http://husg.baihongyu.com/