C++ SPOJ不接受本规范的哪一部分? #包括 #包括 使用名称空间std; 双a,b,c,d,e,结果,a,b,c,d,e,发现,测试; int main() { cin>>测试; 对于(inti=1;i>a>>b>>c>>d>>e; 结果=(a+b+c+d+e)/5; A=晶圆厂(结果-A); B=晶圆厂(结果-B); C=晶圆厂(结果-C); D=晶圆厂(结果-D); E=fabs(结果-E); //上面的五行显示了计算结果,从而得出可比较的值。 发现=A; 如果(发现>=B)发现=B; 如果(发现>=C)发现=C; 如果(发现>=D)发现=D; 如果(发现>=E)发现=E; //这里我检查,哪个值最大。 如果(找到==A) cout

C++ SPOJ不接受本规范的哪一部分? #包括 #包括 使用名称空间std; 双a,b,c,d,e,结果,a,b,c,d,e,发现,测试; int main() { cin>>测试; 对于(inti=1;i>a>>b>>c>>d>>e; 结果=(a+b+c+d+e)/5; A=晶圆厂(结果-A); B=晶圆厂(结果-B); C=晶圆厂(结果-C); D=晶圆厂(结果-D); E=fabs(结果-E); //上面的五行显示了计算结果,从而得出可比较的值。 发现=A; 如果(发现>=B)发现=B; 如果(发现>=C)发现=C; 如果(发现>=D)发现=D; 如果(发现>=E)发现=E; //这里我检查,哪个值最大。 如果(找到==A) cout,c++,if-statement,C++,If Statement,IMHO,您可以使用运行最大值更轻松地执行此操作: #include <iostream> #include <cmath> using namespace std; double a, b, c, d, e, result, A, B, C, D, E, found, tests; int main() { cin >> tests; for (int i = 1; i <= tests; i++) {

IMHO,您可以使用运行最大值更轻松地执行此操作:

#include <iostream>
#include <cmath>

using namespace std;

double a, b, c, d, e, result, A, B, C, D, E, found, tests;

int main()
{
    cin >> tests;

    for (int i = 1; i <= tests; i++)
    {
        cin >> a >> b >> c >> d >> e;

        result = (a + b + c + d + e) / 5;

        A = fabs(result - a);
        B = fabs(result - b);
        C = fabs(result - c);
        D = fabs(result - d);
        E = fabs(result - e);

        // Five lines above shows calculations, which result in the compareable values.

        found = A;
        if (found >= B) found = B;
        if (found >= C) found = C;
        if (found >= D) found = D;
        if (found >= E) found = E;

        // Here I check, which value is the greatest.

        if (found == A)
            cout << a << endl;

        if (found == B)
            cout << b << endl;

        if (found == C)
            cout << c << endl;

        if (found == D)
            cout << d << endl;

        if (found == E)
            cout << e << endl;

        // And I return the value we are searching for.
    }

    return 0;
}
for(i=0;i>最大_值;
位置字母='a'
对于(字符字母='b';字母>值;
如果(值>最大值)
{
位置字母=字母;
}
}

什么是“SPOJ”?从上下文来看,这似乎是一个毫无意义的在线测验网站。这些东西在stackoverflow.com上不是很流行,这里很少有人熟悉其中的每一个。无论如何,几乎可以肯定的是,这个问题涉及某种数学技巧,而这种蛮力方法总是会失败,除非s您知道并使用了所讨论的数学技巧。IMHO,元素是
使用名称空间std;
。您应该避免使用它,并使用
std:
前缀或从
std
名称空间逐项列出内容,例如
使用std::cout;
阅读中的平等比较。
for (i = 0; i < tests; ++i)  
{
    double maximum_value;
    char position_letter;
    cin >> maximum_value;
    position_letter = 'a'  
    for (char letter = 'b'; letter <= 'e'; ++letter)
    {
       double value;
       cin >> value;
       if (value > maximum_value)
       {
         position_letter = letter;
       }
    }
    cout << position_letter << endl;
}