C语言运行超时如何解决?

根据题意输入程序,在PTA平台显示部分答案测试超时,在Dev-c++软件无法得出结果,请问是什么问题呢?

img

img

你写了一个死循环,应该在循环内加一个输入n的语句;而且你求的是偶数的和。
这是改好的代码:

#include<stdio.h>
int main(){
  int n,sum=0;
  for(scanf("%d",&n);n>0;scanf("%d",&n)){
    if(n%2==1)sum+=n;
  }
  printf("%d",sum);
  return 0;
}

while (n > 0)
{
if (n%2 != 0) //修改,==0是偶数
sum = sum + n;
scanf("%d", &n); //加上
}

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7766488
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:pta上的题目,运行结果是对的,提交却是答案错误。
  • 除此之外, 这篇博客: PTA 装箱问题(C、C++都有)中的 问题描述: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    假设有N项物品,大小分别为s1、s2 、…、si 、…、sN ,其中si 为满足1≤s​i≤100的整数。要把这些物品装入到容量为100的一批箱子(序号1-N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^