标题:C语言acm错误修改问题
只看楼主
qq1920778865
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2016-10-31
结帖率:83.33%
已结贴  问题点数:15 回复次数:2 
C语言acm错误修改问题
#include<stdio.h>
int main()
{
    int n,i;
    while(~scanf("%d",&n))
    {
        int a[n];
        if(n<=4&&n>0)
        {
            printf("%d\n",n);
            continue;
        }
        else if(n>4)
        {
            
            a[0]=1;
            a[1]=2;
            a[2]=3;
            a[3]=4;
            for(i=4;i<=n-1;i++)
            {
                a[i]=a[i-1]+a[i-3];
            }
        }
        else break;
        printf("%d\n",a[n-1]);
    }
    return 0;
 }
0_0_19073176_21803.c
0_0_19073176_21803.c(8) : error C2057: 应输入常量表达式
0_0_19073176_21803.c(8) : error C2466: 不能分配常量大小为 0 的数组
0_0_19073176_21803.c(8) : error C2133: “a”: 未知的大小
请问这些错误怎么改?我运行后结果是正确的呀?
有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
Input
输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
n=0表示输入数据的结束,不做处理。
Output
对于每个测试实例,输出在第n年的时候母牛的数量。
每个输出占一行。
Sample Input
2
4
5
0
Sample Output
2
4
6
搜索更多相关主题的帖子: continue include C语言 
2016-11-22 08:22
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
得分:15 
这样做是不行的,既然题目说了n小于55,就直接定义a[55]不就行了。

另外题目要求输完了才输出结果,不知道你这样写能不能过?
2016-11-22 09:16
qq1920778865
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2016-10-31
得分:0 
回复 2楼 grmmylbs
我把a[n]换成了a[55]然后通过了谢谢啦
2016-11-22 11:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-471442-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.117835 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved