永发信息网

C++ 高手进 n阶费波拉且数列

答案:1  悬赏:10  手机版
解决时间 2021-04-12 10:23
#include "stdio.h"
int fib(int k,int m,int *f)
{
int temp[100],i,j;
if(k<2||m<0) return 0;
if(m<k-1) *f=0;
else
if (m==k-1 || m==k) *f=1;
else
{
for(i=0;i<=k-2;i++)
temp[i]=0;
temp[k-1]=1;
temp[k]=1;
j=0;
for(i=k+1;i<=m;i++,j++)
{
temp[i]=2*temp[i-1]-temp[j];
printf("\nf[%d]=%d",i,temp[i]);
}
*f=temp[m];
}
return 1;
}
main()
{
int k,m,f;
printf("Please input k and m:");
scanf("%d,%d",&k,&m);
fib(k,m,&f);
printf("\nk=%d,m=%d,f=%d",k,m,f);
请帮我逐行解释一下 ,谢谢~~~
最佳答案
#include "stdio.h"
int fib(int k,int m,int *f) //一个带返回int型的函数
{
int temp[100],i,j; //定义
if(k<2||m<0) return 0; //如果k<2或是m<0 则fib函数返回0
if(m<k-1) *f=0; //如果m<k-1时,那么*f=0; 注:在该函数头接收的是int *f形式即地址,现在*f表f地址中存的值为0
else //如果以上条件均不满足 执行下面if语句
if (m==k-1 || m==k) *f=1; //如果m与k-1相等或是m与k相等时执行f存的值为1
else //如果上面条件不满足则执行下面{....}中的内容
{
for(i=0;i<=k-2;i++) //i从0循环到k-2,每循环一次i=i+1
temp[i]=0; //将0赋给temp数组,其下标决定不同变量
temp[k-1]=1;//将1赋,同上
temp[k]=1;//将1赋,同上
j=0;
for(i=k+1;i<=m;i++,j++)//i的初值为i=k+1; i从k+1循环到m,每循环一次i=i+1,j=j+1
{
temp[i]=2*temp[i-1]-temp[j]; //等式赋予
printf("\nf[%d]=%d",i,temp[i]);//输出i,temp[i]中的值
}
*f=temp[m]; //赋值为tem[m]
}
return 1; //该fib函数返回1
}
main()
{
int k,m,f; //定义
printf("Please input k and m:"); //输出""中的该字符串
scanf("%d,%d",&k,&m); //输入k和m,注:k与m用逗号隔开
fib(k,m,&f); //调用fib函数并传参k,m,及&f. &符号表取地址符,&f表示该f的地址。
printf("\nk=%d,m=%d,f=%d",k,m,f);//输出k,m,f
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
IP地址冲突是什么引起的?
明翠园怎么去啊,有知道地址的么
http//211.144.132.35:3753/sign/qianming.js
(8分)材料一:2008年初,历史罕见的低温雨
跟安全有关的古诗词,和饮食有关的句子
很厂时间没和朋友联系,朋友不理你了怎么办呀
去美容院挑过痘痘的进来看看吧!!!!!
歌手吉杰以前是世界五百强企业第一洋酒的高管
桂美园凉粉店怎么去啊,有知道地址的么
男人的感情有期限吗
关于ipod nano5 充电问题
欸什么意思,刘琳墨萱是给孩子取的名字,怎么
单选题鸦片战争前夕,影响近代中国的政治因素
古诗《登鹳雀楼》的意思
手指上两厘米多的伤口是缝针好还是不缝好
推荐资讯
请问喝内分泌失调喝中药会不会导致月经提前或
天赐良园(西门)地址在哪,我要去那里办事
得后面接什么词,完善搭配什么词语
怎样才能点亮校友图标?
东北大学的冶金工程专业本科生出来就业怎么样
德源商行地址有知道的么?有点事想过去
鸡西哪里买貂皮大衣
怎样酿制红曲米酒
250克肉含多少蛋白质
鱼缸店经营范围
学生在外面吃一般吃什么家常菜好吃
烟台开发区办理市民卡都需要什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?