2 supersuperna123 supersuperna123 于 2016.03.21 21:55 提问

一道水题 求点拨谢谢了

杭电2018的题
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?

Input
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。

Output
对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。

Sample Input
2
4
5
0

Sample Output
2
4
6

Author
lcy

我是按照在第五年之后每一年的牛都是去年加上前三年的牛的数量
不知道为什么不对,求点拨求点拨

**********#include

int main()

{

int n;

int sum;

int a[100];

int i;

int t;

while(scanf("%d",&n)!=EOF)

{

sum=0;

a[0]=a[1]=a[2]=a[3]=1;

for(i=5,t=4;i<=n;i++,t++)

{

a[t]=a[t-1]+a[t-3];

}

for(t=0;t<=(n-1);t++)

{

sum=sum+a[t];

}

printf(“%d\n”,sum);

}

return 0;

}

**********

2个回答

zjdnwpu
zjdnwpu   2016.03.21 23:46
已采纳

当输入0的时候,程序应该结束,把 while(scanf("%d",&n)!=EOF) 改成 while(scanf("%d",&n)!=EOF && n)就可以了

xianfajushi
xianfajushi   2016.03.22 11:28

t=4?!!!!!!!!!!!!!!!!!!自己板起指头先算算看

xianfajushi
xianfajushi 回复supersuperna123: 原来如此
一年多之前 回复
supersuperna123
supersuperna123 确实是4 啊我加上if(n==0) break;就ac了
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!