谁给我看看接下来该怎么写

谁给我看看接下来该怎么写

输入
有多组测试数据,每组测试数据为单独一行,这一行中只有一个整数n(0≤n≤46),如果输入是-1,表示输入结束。-1不用处理。
输出
对每组测试数据,在单独的一行中输出f(n)。
输入样列
3
4
5
-1

输出样例
2
3
5

img

img

#include <stdio.h>
int main()
{
    int a = 0,b=  1,c=1;
    int n,i;
    while(scanf_s("%d",&n)!=EOF && n!=-1)
    {
        if(n==0)
        {
            printf("%d\n",0);
            continue;
        }
        if(n==1)
        {
            printf("%d\n",1);
            continue;
        }
        a= 0 ,b=1;
        for(i=2;i<=n;i++)
        {
            c = a+b;
            a = b;
            b = c;
        }
        printf("%d\n",c);
    }
    return 0;
}