【问题标题】:There are N friends and each of them have A[i] amount of money. Check whether equal money can be distributed among all of them. Give C code有 N 个朋友,每个人都有 A[i] 数量的钱。检查是否可以在所有人之间分配相等的钱。给C代码
【发布时间】:2020-07-02 01:29:44
【问题描述】:

所以这是我想出的代码,但为什么它没有被接受为 codechef 的有效解决方案。约束已得到处理,两种 i/o 格式都是正确的。这只是一个简单的练习题,不是竞赛题。 谢谢。

#include<stdio.h>
int main(void)
{
    int T;
    scanf("%d", &T);
    while (T > 0 && T < 10)
    {
        int N;
        int sum = 0;
        scanf("%d", &N);
        for (int i = 0;i < N;i++)
        {
            int A;
            scanf("%d", &A);
            sum += A;
        }
        if (sum%N == 0 )
            printf("Yes\n");
        else
            printf("No\n");
        T--;
    }
    return 0;
}

【问题讨论】:

  • 你能提供问题的链接吗?如果不知道准确代码应该做什么,我们就无法判断代码是否做了它应该做的事情。
  • bug 的定义是程序偏离了它的规范。为了知道是否存在错误或它是什么,我们需要知道 (a) 程序和 (b) 规范。你没有给出完整的规格。所以我们无法知道错误是什么。

标签: c


【解决方案1】:

问题规范说“1 ≤ T ≤ 10”。当输入 T 为 10 时,本题中的程序不打印输出,因为代码 while (T &gt; 0 &amp;&amp; T &lt; 10) 永远不会执行循环体,因为 T &lt; 10 为 false。

【讨论】:

  • 圣牛人。它被接受只是因为我将
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-29
  • 2011-02-27
  • 2012-06-03
  • 1970-01-01
  • 2021-12-10
相关资源
最近更新 更多