请问这个应该怎么做?第一张是原题,第二张是机翻。是数字计算题目。这道题的意思应该是像图上那样将数字按照规则排列出来,然后题目让我们假设输入最大值是46。请帮我编写1下,10000分蟹蟹。
更改后的程序如下:(DevC++编写)
#include <stdio.h>
int digui(int k)
{
int result;
if(k==1)
{
result=1;
return result;
}
else if(k==2)
{
result=1;
return result;
}
else
{
result=digui(k-1)+digui(k-2);
return result;
}
}
int main() //青蛙跳
{
int n,result;
printf("欢迎来到斐波那契小游戏\n");
printf("请输入项数:\n");
scanf("%d",&n);
result=digui(n);
printf("该项为:");
printf("%d",result);
return 0;
}
实现一次输入多个数字,更改后如下:
#include <stdio.h>
int digui(int k)
{
int result;
if(k==1)
{
result=1;
return result;
}
else if(k==2)
{
result=1;
return result;
}
else
{
result=digui(k-1)+digui(k-2);
return result;
}
}
int main() //斐波那契数列,输入的数不仅仅一个,例如输入4,8,15,应该输出第4、8、15项,更改一下函数即可 ,输入的数用数组储存
{
int n,m[100]; //假设最多输入100个数字
printf("欢迎来到斐波那契小游戏\n");
printf("请输入项数:\n");
scanf("%d",&n);
printf("请输入每一项的项数:\n");
for(int i=0;i<n;i++)
{
scanf("%d",&m[i]);
}
//result=digui(n);
printf("结果依次为为:\n");
for(int i=0;i<n;i++)
{
int jieguo=digui(m[i]);
if(jieguo!=0)
{
printf("%d",jieguo);
printf(" ");
}
}
return 0;
}
这次的解答应该比较符合要求,你可以看看
回答:不是很理解这个问题的输入输出,斐波那契很经典,代码如下(使用DevC++编写)
#include <iostream>
using namespace std;
void feibo()
{
double a=1,b=1;
int n;
cout<<"请输入项数:(即你想求第几项)"<<endl;
cin>>n;
double result[n];
for(int i=0;i<n;i++)
{
result[i]=a+b;
b=a;
a=result[i];
}
cout<<"计算结果为:"<<result[n-1]<<endl;
}
int main() //斐波那契数列计算
{
cout<<"欢迎来到斐波那契小游戏"<<endl;
feibo();
while(true)
{
cout<<"是否继续游戏?(yes/no)"<<endl;
string n;
cin>>n;
if(n=="yes")
{
feibo();
continue;
}
else if(n=="no")
{
return 0;
}
else
{
cout<<"error";
return 0;
}
}
}
采用递归编写如下:
#include <iostream>
using namespace std;
int digui(int k)
{
int result;
if(k==1)
{
result=1;
return result;
}
else if(k==2)
{
result=1;
return result;
}
else
{
result=digui(k-1)+digui(k-2);
return result;
}
}
int main() //青蛙跳
{
int n,result;
cout<<"欢迎来到斐波那契小游戏"<<endl;
cout<<"请输入项数:"<<endl;
cin>>n;
result=digui(n);
cout<<"该项为:"<<result<<endl;
return 0;
}
大概就是这样了,至于最开始的数选择,你可以自行更改,不知道符不符合你题目的要求