Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/131.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 作业:测试所有相等行的正方形_C++ - Fatal编程技术网

C++ 作业:测试所有相等行的正方形

C++ 作业:测试所有相等行的正方形,c++,C++,因此,对于我当前的家庭作业,我必须确定一个正方形中所有行的总和是否相等,如果它们都相等,则该正方形为“很棒”,否则为“不很棒”。在这个程序中,第一个输入是要求解的平方数,然后为每个平方输入它将有多少行,然后是一系列整数来表示“平方”中的每个数字。下面是我经过测试的代码,对我来说,我似乎无法想出一个破坏它的测试用例,但是当我上传它进行评分时,评分机器人却失败了。非常感谢您的帮助 起初我认为这是一个溢出问题,所以我将sum和temp变量改为long-long,但没有效果 输入示例: 三, 四, 12

因此,对于我当前的家庭作业,我必须确定一个正方形中所有行的总和是否相等,如果它们都相等,则该正方形为“很棒”,否则为“不很棒”。在这个程序中,第一个输入是要求解的平方数,然后为每个平方输入它将有多少行,然后是一系列整数来表示“平方”中的每个数字。下面是我经过测试的代码,对我来说,我似乎无法想出一个破坏它的测试用例,但是当我上传它进行评分时,评分机器人却失败了。非常感谢您的帮助

起初我认为这是一个溢出问题,所以我将sum和temp变量改为long-long,但没有效果

输入示例:

三,

四,

1234

1234

1234

1234

三,

1 2 3

2 3 1

3 2 7

五,

123445

1111

27

三三三

4-1

产出将是:

棒极了

#include <iostream>

using namespace std;

int main()
{
    int numTests, numRows, i, col, row, firstRun;
    long long sum, prevSum, temp;

    cin >> numTests;
    for (i = 0; i < numTests; i++)
    {
        firstRun = 1;
        cin >> numRows;
        for (row = 0; row < numRows; row++)
        {
            sum = 0;
            for (col = 0; col < numRows; col++)
            {
                cin >> temp;
                sum += temp;
            }
            if (!firstRun && prevSum != sum)
                break;
            firstRun = 0;
            prevSum = sum;
        }
        if (row != numRows)
            cout << "Not ";
        cout << "Awesome" << endl;
    }
    return 0;
}
不可怕

棒极了

#include <iostream>

using namespace std;

int main()
{
    int numTests, numRows, i, col, row, firstRun;
    long long sum, prevSum, temp;

    cin >> numTests;
    for (i = 0; i < numTests; i++)
    {
        firstRun = 1;
        cin >> numRows;
        for (row = 0; row < numRows; row++)
        {
            sum = 0;
            for (col = 0; col < numRows; col++)
            {
                cin >> temp;
                sum += temp;
            }
            if (!firstRun && prevSum != sum)
                break;
            firstRun = 0;
            prevSum = sum;
        }
        if (row != numRows)
            cout << "Not ";
        cout << "Awesome" << endl;
    }
    return 0;
}
#包括
使用名称空间std;
int main()
{
int numTests、numRows、i、col、row、firstRun;
长和,前和,温度;
cin>>核试验;
对于(i=0;i>numRows;
对于(行=0;行>温度;
总和+=温度;
}
如果(!firstRun&&prevSum!=sum)
打破
firstRun=0;
prevSum=总和;
}
如果(行!=numRows)

cout当你得到答案时,你正在打破循环。但是输入可能不会完成

1
4
1 2 3 4
1 2 3 1
1 2 3 4
1 2 3 4

这里,输入第二行后,你的循环将中断,因此后续的数字错误处理,导致WA。

2
3
1 2 3 
1 2 1
3 2 1
3
3 1 1
1 1 3
1 3 1
您的程序将打印

Not Awesome
Not Awesome

有输入示例吗?你的问题是输出应该是“很棒”或“不很棒”,而你的代码写的是“很棒”或“不很棒”。这可能是大写/小写问题吗?这不是大写/小写问题,在线测试人员不关心大小写。我更新了我的问题,加入了一个输入示例。如果有许多行溢出了
int
,可能吗?