首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于“疫苗生产”问题的CodeChef运行时错误“NZEC”(C语言)

关于“疫苗生产”问题的CodeChef运行时错误“NZEC”(C语言)
EN

Stack Overflow用户
提问于 2020-12-16 04:27:17
回答 1查看 122关注 0票数 0

我试图用C语言解决这个初学者的问题:https://www.codechef.com/problems/VACCINE1

你能告诉我下面的代码有什么问题吗?我得到运行时错误“NZEC”。

我怀疑这是枚举的问题,所以我用一个in变量替换了它,但是这个问题并没有消失。

下面是CodeChef页面中的解决方案代码(如果您喜欢这样的话):https://www.codechef.com/viewsolution/40469687

我正在Visual中的C++项目中运行它。它在Visual中正常运行,输出与问题语句中的给定输出匹配。

这是我的代码:

代码语言:javascript
复制
#include <stdio.h>

void main(void)
{
    enum productionStatus {
        CompanyA,
        CompanyB,
        BothCompanies
    } companyProducing;

    short int D1, V1, D2, V2, P, d = 0, day = 0, dayProductionStarts = 0, vaccineNo = 0;
    scanf("%hd %hd %hd %hd %hd", &D1, &V1, &D2, &V2, &P);

    if (D1 < D2) {
        companyProducing = CompanyA;
        day = D1;
    } else if (D1 > D2) {
        companyProducing = CompanyB;
        day = D2;
    } else {
        companyProducing = BothCompanies;
        day = D1;
    }

    if (companyProducing == CompanyA) {
        while (1) {
            vaccineNo += V1;
            if (vaccineNo >= P) {
                d = day;
                break;
            }
            if (day == D2) {
                companyProducing = BothCompanies;
                break;
            }
            day++;
        }
    }

    if (companyProducing == CompanyB) {
        while (1) {
            vaccineNo += V2;
            if (vaccineNo >= P) {
                d = day;
                break;
            }
            if (day == D1) {
                companyProducing = BothCompanies;
                break;
            }
            day++;
        }
    }

    if (companyProducing == BothCompanies) {
        while (1) {
            vaccineNo += (V1 + V2);
            if (vaccineNo >= P) {
                d = day;
                break;
            }
            day++;
        }
    }

    printf("%hd\n", d);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-16 04:34:38

来自Codechef常见问题

NZEC代表非零出口代码。对于C用户,如果main方法没有返回0;语句,这将生成。如果其他语言(如Java/C++ )抛出异常,则可能会产生此错误。

正如MM在注释中指出的,最后将void main()更改为int main()return 0

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65317322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档