数列1,1,2,3,5,8,13,21,34..用C语言编程求第n项为?
4个回答
展开全部
#include <stdio.h>
int main(void)
{
int arr[100] = {1,1};
int n, i;
printf("Please input 0 < n < 100:");
scanf("%d", &n);
for (i=2; i < n + 2; i++)
{
arr[i] = arr[i - 1] + arr[i - 2];
}
printf("arr[%d] = %d\n", n, arr[n - 1]);
return 0;
}
试试这个
我刚编得
能用就采纳我哦
int main(void)
{
int arr[100] = {1,1};
int n, i;
printf("Please input 0 < n < 100:");
scanf("%d", &n);
for (i=2; i < n + 2; i++)
{
arr[i] = arr[i - 1] + arr[i - 2];
}
printf("arr[%d] = %d\n", n, arr[n - 1]);
return 0;
}
试试这个
我刚编得
能用就采纳我哦
展开全部
n=(n-1)+(n-2)就是后面那个数等于前面两个相加啦
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int show(int);/*利用递归求第n项值的函数声明*/
int main()
{
int i=0,j=1,n;/*i,j分别代表第一项和第二项的值*/
printf("input n:\n");/*提示信息输入n的值*/
scanf("%d",&n);/*接收n*/
printf("%d",show(n));/*调用函数求值并输出*/
getch();
return 0;
}
int show(int n)
{
if(n<=0)
printf("请输入大于0的数\n");
else if(n<=2)/*递归初始条件值*/
return 1;
else
return show(n-1)+show(n-2);
}
int show(int);/*利用递归求第n项值的函数声明*/
int main()
{
int i=0,j=1,n;/*i,j分别代表第一项和第二项的值*/
printf("input n:\n");/*提示信息输入n的值*/
scanf("%d",&n);/*接收n*/
printf("%d",show(n));/*调用函数求值并输出*/
getch();
return 0;
}
int show(int n)
{
if(n<=0)
printf("请输入大于0的数\n");
else if(n<=2)/*递归初始条件值*/
return 1;
else
return show(n-1)+show(n-2);
}
追问
代码显示有错误。。
追答
把错误提示放上来。 我这里可是能正常运行的。我用的dos下的TC2.0
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a+b=c
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询