如何从代码中删除空白

时间:2018-04-08 01:04:52

标签: c++

我编写了这个程序并且工作正常。我得到了我想要的结果,但因为我们使用旧系统提交它,我的代码被拒绝,因为它说最后3行产生了我的代码的空白。有人可以告诉我问题出在哪里以及如何解决?谢谢!

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    int i, row_nr;
    cin >> row_nr;
    if(row_nr > 1 && row_nr <= 30)
        for(i = 1; i <= row_nr; i++)
        {
            for(int j = 0; j < row_nr; j++)
            {
                cout << i + j * (row_nr);
                {
                    cout << " ";
                }
            }
            cout << endl;
        }
    return 0;
}

1 个答案:

答案 0 :(得分:0)

您在每个值之后输出一个空格,因此每行的末尾都会有一个空格。您应该添加一个检查,以便在每行的最后一个值之后不输出空格。看起来你可能打算这样做,但忘了写if语句。

#include <iostream>
//#include <iomanip> why?
using namespace std;
int main()
{
    int row_nr;
    cin >> row_nr;
    if(row_nr > 1 && row_nr <= 30)
        for(int i = 1; i <= row_nr; i++) //declare iterator variable in for loop statement
        {
            for(int j = 0; j < row_nr; j++)
            {
                cout << i + j * (row_nr);
                if(j < row_nr - 1) //you forgot this line
                {
                    cout << " ";
                }
            }
            cout << '\n'; //endl flushes the buffer, unnecessary here
        }
    return 0;
}