c - 我正在尝试编写一个在 C 中定义为参数的函数

标签 c

我必须编写一个关于斐波那契数列的程序。该程序应该有两个功能。一项功能用于读取用户输入,一项功能用于打印斐波那契数列以及打印了多少个数字(序列的长度)。另外,打印斐波那契数列的函数应该定义一个参数来接受用户输入。

这是我的程序,请帮我检查一下并帮助我完成程序的其余部分:

#include <stdio.h>
#include <stdlib.h>

int Fibonacci(int);

int main()
{
int num;
printf("enter a number:\n");
scanf("%d",&num);
if (num < 0) {
printf("invalid user input, enter a positive number\n");
} else {
Fibonacci(num);
}
return 0;
}

int Fibonacci(int num)
{

int num1 = 0;
int num2 = 1;
int totalNum = 2;
int next;
printf ("%d,%d", num1, num2);
next = num1 + num2;

while (next <= num)
{
printf(",%d", next);
num1 = num2;
num2 = next;
next = num1 + num2;

}
}

最佳答案

对于在函数中打印多少个数字,只需采用一个变量计数器并将其初始化为 2(预先计算的)counter=2,然后在 while 循环内继续递增它 像这样的东西

fabonacci(....)
{
 .
 //rest of code
 //
  counter=2;
  while (next <= num)
  {
       printf(",%d", next);
       num1 = num2;
       num2 = next;
       next = num1 + num2;
       ++counter;
   }
   printf("\n%d\n",counter);
 }

关于c - 我正在尝试编写一个在 C 中定义为参数的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33184409/

相关文章:

c - 使用 libxml2 在 xml 文件中查找节点

c - 在顶层理解 "' const',这可能会在不提高 const 正确性的情况下降低代码可读性”

c - 为什么我在 C 语言中收到警告 'Segmentation fault, core dumped'

使用 bison 生成的文件进行循环依赖解析

c++ - 为什么这个功能不起作用?

c - 定时 Release模式(优化)功能

c - 如何将用户输入限制为预定数量的整数

c - 为什么我的 hello world 驱动程序模块不打印任何内容?

C 中指针与整数的比较

c - Pthread 互斥段错误