gpt4 book ai didi

CodeChef 购买新的平板电脑解决方案

转载 作者:行者123 更新时间:2023-11-30 20:58:00 27 4
gpt4 key购买 nike

当我运行这段代码时,为什么它给出了不正确的输出?在我的系统中,我得到了正确的输出。我的输出与 link 中给出的输出相同但他们仍然不接受。

int main()
{

int t, n, b, i;

scanf("%d", &t);

while (t--) {
scanf("%d %d", &n, &b);
int area[n];
int max = 0;
area[0] = 0;
int p[n], w[n], h[n];
int count = 0;

for (i = 1; i <= n; i++) {
scanf("%d %d %d", &w[i], &h[i], &p[i]);
}

for (i = 1; i <= n; i++) {
if (p[i] <= b) {
area[i] = w[i] * h[i];
if (area[i] > max) {
max = area[i];
printf("%d\n", max);
count++;
}
}
}
if (count == 0) {
printf("no tablet\n");
}
}
return 0;
}

最佳答案

您的索引超出了数组范围

for(i = 1; i<=n; i++)

您可以对长度为 n 的数组进行索引,索引为 0n-1。因此将两个循环更改为

for(i = 0; i < n; i++)

并删除无用的行

area[0] = 0;

此外,您不应在循环内输出结果,因为如果数据输入顺序与示例不同,它会多次打印结果。把它放在后面。

if(count == 0)
{
printf("no tablet\n");
}
else
{
printf("%d\n",max);
}

关于CodeChef 购买新的平板电脑解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54853206/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com