初学者帮助:打印表总和

时间:2016-10-25 14:01:32

标签: c++

因此,一个简单的学校项目要求我打印一个10x10表,其中表中的每个条目都是行号和列号的总和。我还需要添加一个累加器,它将计算所有表条目的总和,并使用cout语句将其打印在嵌套循环之外。

我已经完成了表部分,但似乎无法弄清楚如何输出每列和行的总和。我忘记了什么?

#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
    int r, c;
    for (r = 1; r <= 10; r++)
    {
        for (c = 1; c <= 10; c++)
            cout << setw(3) << r;
        cout << endl;
    }
    system("pause"); // keeps DOS screen open until a key is pressed
    return 0;
}

2 个答案:

答案 0 :(得分:0)

您只是在编写行cout << setw(3) << r;,但您需要编写行加列。好像cout << setw(3) << r+c;似乎可以解决这个问题。

答案 1 :(得分:0)

要获取每行的总和,请考虑添加变量rowSum

代码应该是非常自我解释的。

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    int r, c;
    for (r = 1; r <= 10; r++) {
        int rowSum = 0; // reset for each row
        for (c = 1; c <= 10; c++) {
            cout << setw(3) << r + c;
            rowSum += (r + c); // add number to current row sum
        }
        cout << " Row sum = " << rowSum << endl;
    }
    system("pause"); // keeps DOS screen open until a key is pressed
    return 0;
}

如果您还需要列总和,请考虑保留vectorarray int,每个function enableSubmit() { // counts the elments of inputs with values var i = 0; Array.prototype.slice.call(document.forms["form"].elements).forEach(function(e) { if (e.value) { i++; } }); // if all the elements have a value enabled the submit button if (i === (document.forms["form"].elements.length - 1)) { document.getElementById('disabled').disabled = false; } else { document.getElementById('disabled').disabled = true; } }; // add a event listener to each tag require (were using input and select) Array.prototype.slice.call(document.forms["form"].elements).forEach(function(e) { if (e.tagName === 'INPUT') { e.addEventListener("keyup", function(e) { enableSubmit(); }, false); } else if (e.tagName === 'SELECT') { e.addEventListener("change", function(e) { enableSubmit(); }, false); } });代表一列的总和。

每次打印数字时,请将其添加到相应的总和中。