C++;Primer Plus:2D阵列 我刚开始通过C++入门软件,我打了一个小残端。 const int MONTHS = 12; const int YEARS = 3; int sales[YEARS][MONTHS] = {0}; const string months[MONTHS] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; for (int year = 0; year < YEARS; year++) { for (int month = 0; month < MONTHS; month++) { cout << "Please enter year " << year + 1 << " book sales for the month of " << months[month] << ": \t"; cin >> sales[year][month]; } } int yearlyTotal[YEARS][3] = {0}; int absoluteTotal = 0; cout << "Yearly sales:" << endl; for (int year = 0; year < YEARS; year++) { cout << "Year " << year + 1 << ":"; for (int month = 0; month < MONTHS; month++) { absoluteTotal = (yearlyTotal[year][year] += sales[year][month]); } cout << yearlyTotal[year][year] << endl; } cout << "The total number of books sold over a period of " << YEARS << " years is: " << absoluteTotal << endl; const int MONTHS=12; const int YEARS=3; 整数销售额[年][月]={0}; 常量字符串月份[月份]={“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”, “八月”、“九月”、“十月”、“十一月”、“十二月” }; 对于(int year=0;year

C++;Primer Plus:2D阵列 我刚开始通过C++入门软件,我打了一个小残端。 const int MONTHS = 12; const int YEARS = 3; int sales[YEARS][MONTHS] = {0}; const string months[MONTHS] = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; for (int year = 0; year < YEARS; year++) { for (int month = 0; month < MONTHS; month++) { cout << "Please enter year " << year + 1 << " book sales for the month of " << months[month] << ": \t"; cin >> sales[year][month]; } } int yearlyTotal[YEARS][3] = {0}; int absoluteTotal = 0; cout << "Yearly sales:" << endl; for (int year = 0; year < YEARS; year++) { cout << "Year " << year + 1 << ":"; for (int month = 0; month < MONTHS; month++) { absoluteTotal = (yearlyTotal[year][year] += sales[year][month]); } cout << yearlyTotal[year][year] << endl; } cout << "The total number of books sold over a period of " << YEARS << " years is: " << absoluteTotal << endl; const int MONTHS=12; const int YEARS=3; 整数销售额[年][月]={0}; 常量字符串月份[月份]={“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”, “八月”、“九月”、“十月”、“十一月”、“十二月” }; 对于(int year=0;year,c++,arrays,loops,multidimensional-array,for-loop,C++,Arrays,Loops,Multidimensional Array,For Loop,看起来每次迭代都要重置absoluteTotal。你真的想要吗 也许这就是你想要的 absoluteTotal += (yearlyTotal[year][year] += sales[year][month]); #包括 #包括 使用名称空间std; 内部主(空) { const int MONTHS=12; const int YEARS=3; 整数销售额[年][月]={0}; 常量字符串月份[月份]={“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”, “八月”、“九

看起来每次迭代都要重置
absoluteTotal
。你真的想要吗

也许这就是你想要的

absoluteTotal += (yearlyTotal[year][year] += sales[year][month]);
#包括
#包括
使用名称空间std;
内部主(空)
{
const int MONTHS=12;
const int YEARS=3;
整数销售额[年][月]={0};
常量字符串月份[月份]={“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”,
“八月”、“九月”、“十月”、“十一月”、“十二月”
};
对于(int year=0;yearcout问题在于,您的
absoluteTotal
增量是指前几个月的多次计数(因为
yearlyTotal
是一个计数器,它每个月递增,因此将其添加到
absoluteTotal
中,每一次计数第1个月12次,第2个月11次,以此类推)

相反,您希望该循环如下所示:

for (int year = 0; year < YEARS; year++)
{
    cout << "Year " << year + 1 << ":";

    for (int month = 0; month < MONTHS; month++)
    {
        (yearlyTotal[year][year] += sales[year][month]);

    }

    absoluteTotal += yearlyTotal[year][year]; 
    cout << yearlyTotal[year][year] << endl;

}
for(int year=0;year不能检查下面的代码。它会工作的

int yearlyTotal[YEARS];
int absoluteTotal = 0;

cout << "Yearly sales:" << endl;

for (int year = 0; year < YEARS; year++)
{
    yearlyTotal[year] = 0;

    cout << "Year " << year + 1 << ":";

    for (int month = 0; month < MONTHS; month++)
    {
        yearlyTotal[year] += sales[year][month];
        absoluteTotal += sales[year][month];
    }

    cout << yearlyTotal[year] << endl;

}

cout << "The total number of books sold over a period of " << YEARS << " years is: " << absoluteTotal << endl;
int yearlyTotal[年];
int绝对总数=0;

你说得对,我也这么想。输出结果不是我所期望的。让我编辑帖子以包含所有代码,这可能会有所帮助。修改代码使其使用加法运算符赋值会产生以下输出:年销售额:第1年:12年2:12年3:12通过pe售出的图书总数三年的时间是:234不确定234来自何方:对SO来说,没有什么是“太没用的”(我们不是数学溢出),只是要确保以前没有人问过。我唯一不喜欢的是人们总是说自己太粗鲁而不敢问问题。这毕竟不是元。对于一个使用std::string而不是
char*
的新手来说+1。我会继续在这里关注答案和评论,并根据需要改进我的答案。谢谢。我使用的是二维al数组,因为这就是问题要求的。也就是说,可能不是每个方面都需要二维数组。我确实在纸上草拟了一些东西,但我觉得我太困了。我应该休息一下,然后头脑清醒地回来。谢谢,伙计。完成了。我从来没有参与过这里,只是读了几篇帖子。我倾向于潜伏在那里在编程sub reddits,我经常在这里。@aLostMonkey:欢迎来到StackOverflow,祝您旅途愉快;)
int yearlyTotal[YEARS];
int absoluteTotal = 0;

cout << "Yearly sales:" << endl;

for (int year = 0; year < YEARS; year++)
{
    yearlyTotal[year] = 0;

    cout << "Year " << year + 1 << ":";

    for (int month = 0; month < MONTHS; month++)
    {
        yearlyTotal[year] += sales[year][month];
        absoluteTotal += sales[year][month];
    }

    cout << yearlyTotal[year] << endl;

}

cout << "The total number of books sold over a period of " << YEARS << " years is: " << absoluteTotal << endl;