我试图用C语言解决这个初学者的问题:https://www.codechef.com/problems/VACCINE1
你能告诉我下面的代码有什么问题吗?我得到运行时错误“NZEC”。
我怀疑这是枚举的问题,所以我用一个in变量替换了它,但是这个问题并没有消失。
下面是CodeChef页面中的解决方案代码(如果您喜欢这样的话):https://www.codechef.com/viewsolution/40469687
我正在Visual中的C++项目中运行它。它在Visual中正常运行,输出与问题语句中的给定输出匹配。
这是我的代码:
#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);
}发布于 2020-12-16 04:34:38
NZEC代表非零出口代码。对于C用户,如果main方法没有返回0;语句,这将生成。如果其他语言(如Java/C++ )抛出异常,则可能会产生此错误。
正如MM在注释中指出的,最后将void main()更改为int main()和return 0。
https://stackoverflow.com/questions/65317322
复制相似问题