某数列的前两项为2和3,其后每一项为其前两项之和,编程实现输入一个整数x,判断并输出x最接近数列的第几项 255

用C语言编译,求大神,在线等,急... 用C语言编译,求大神,在线等,急 展开
 我来答
207ft饭桶
推荐于2018-03-26
知道答主
回答量:3
采纳率:100%
帮助的人:2077
展开全部
前面几行不写了
int a[],i,x,j;
a[]={2,3};
for(i=2;;i++)
a[i]=a[i-1]+a[i-2];
printf("请输入一个数:");
scanf("%d\n",&x);
for(j=0;;j++)
if((x>a[j])&&(a[j+1]>x))
if((x-a[j])<(a[j+1]-x))
printf("%d",j);
else printf("%d",j+1);
后面也不想写了
White_MouseYBZ
2016-05-26 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6640万
展开全部

这样写即可:

#include "stdio.h"
int main(void){
    int a,b,n,k;
    while(1){
        printf("Input an integer...\nk=");
        if(scanf("%d",&k) && k>0){
            if(k<3)
                printf("1\n");
            else if(k<4)
                printf("2\n");
            else{
                for(n=a=3,b=5;b<k;b+=a,a=b-a,n++);
                printf("%d\n",b-k<k-a ? n : n-1);
            }
            break;
        }
        printf("Error, redo: ");
        fflush(stdin);
    }
    return 0;
}
追问
冒号后面为什么没东西。。。?
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2016-05-26
展开全部
Functionfact(n)AsDoubleIfn>2Thenfact=fact(n-2)+fact(n-1)Elsefact=1EndIfEndFunctionPrivateSubCommand1_Click()DimnAsInteger,mAsDoublen=Val(Text1.Text)Ifn<0ThenExitSubEndIfm=fact(n)Label1.Caption=mEndSub
追问
为什么看到一堆乱码。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式