qimu9 2023-11-27 20:31 采纳率: 75%
浏览 6

不知道为什么,oj提示部分通过

oj显示10个样例只能通过3个,我看不到具体的样例是什么,只能看到是否通过

img

#include<stdio.h>
int main()
{
    int N,a=0,arr[102];
    scanf("%d", &N);
    while (a < N)
    {
        scanf("%d", &arr[a]);
        a++;
    }
    int i, j,k;
    for (i = 0;i<N-1; i++)
    {
        for (j=N-1;j>i; j--)
        {
            if (arr[j] < arr[j - 1])
            {
                k = arr[j];
                arr[j] = arr[j - 1];
                arr[j - 1] = k;
            }
        }
    }
    int sum = 0;
    for (i = 0;i<=(N/2); i++)
    {
        sum += arr[i] / 2 + 1;
    }
    printf("%d\n", sum);
    return 0;
}

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-27 22:12
    关注

    【以下回答由 GPT 生成】

    问题原因:无法查看具体的样例结果,只能看到是否通过的原因是因为代码中没有添加输出样例结果的代码。

    解决方案: 要查看具体的样例结果,需要在代码中添加输出语句,并将结果打印出来。

    以下是添加输出样例结果的代码:

    #include<stdio.h>
    int main()
    {
        int N, a=0, arr[102];
        scanf("%d", &N);
        while (a < N)
        {
            scanf("%d", &arr[a]);
            a++;
        }
        int i, j, k;
        for (i = 0; i < N-1; i++)
        {
            for (j = N-1; j > i; j--)
            {
                if (arr[j] < arr[j - 1])
                {
                    k = arr[j];
                    arr[j] = arr[j - 1];
                    arr[j - 1] = k;
                }
            }
        }
        int sum = 0;
        for (i = 0; i <= (N/2); i++)
        {
            sum += arr[i] / 2 + 1;
        }
        printf("%d\n", sum);
    
        // 添加输出样例结果的代码
        for (i = 0; i < N; i++)
        {
            printf("%d ", arr[i]);
        }
    
        return 0;
    }
    

    添加了输出样例结果的代码后,就可以在运行程序后,查看具体的样例结果了。



    【相关推荐】



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

报告相同问题?

问题事件

  • 创建了问题 11月27日