gpt4 book ai didi

计算斐波那契数列的第 n 个数,其中 n 在命令行中输入

转载 作者:太空宇宙 更新时间:2023-11-04 00:41:45 32 4
gpt4 key购买 nike

我想编写一个程序来计算斐波那契数列的第 n 个数,这是我使用 printf 和 scanf 完成的。但我希望更改我的程序,以便在命令行中输入序列号,而不是在程序提示时输入。这就是我想出的。它可以编译,但是当我运行它时它会崩溃……不知道为什么。如有任何建议,我们将不胜感激。

这是一个使用迭代计算斐波那契代码的第 n 个数的程序。我是这样写的:您必须在命令行 argv[1] 中输入要计算的序列号。该程序然后采用此命令行参数并在 while 循环中使用它,并打印此数字。

#include <stdio.h>


int main( int argc, char**argv ) {
int fib[3] = {0,1};
int counter = 0;
printf("The %dth Fibonacci number is:\n", atoi(argv[1]));
while ( counter < atoi(argv[1]) ) {

fib[2] = fib[0] + fib[1];
fib[0] = fib[1];
fib[1] = fib[2];
counter++;
}
printf("%d\n", fib[0]);
getchar();
return 0;
}

最佳答案

检查用户是否真的传递了一个参数:

int main( int argc, char**argv ) {
if (argc < 2) {
printf("Usage: %s number\n", argv[0]);
return 1;
}
...
}

如果他不这样做,argv[1] 为空,你就会崩溃

关于计算斐波那契数列的第 n 个数,其中 n 在命令行中输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5314767/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com