c+ +关于#二维数组#的问题,如何解决?

img


这是那个题目要求,我写出来,运行之后,牵扯求组的运算都不对。希望各位程序员teacher们可以来帮我一下。指导我一下。感谢

其实思路很简单,就是存储成一个3*12的二维数组,然后循环遍历根据要求拿到相应的值计算就可以了,可以参考下面的写法。

#include<iostream>
using namespace std;
int main(){
    double array[3][12];
    array[0][0]=69.8;
    array[0][1]=29.9;
    array[0][2]=25.9;
    array[0][3]=124.8;
    array[0][4]=36.8;
    array[0][5]=88.5;
    array[0][6]=317.6;
    array[0][7]=746.7;
    array[0][8]=375.5;
    array[0][9]=556.8;
    array[0][10]=58.1;
    array[0][11]=6.0;
    array[1][0]=14.8;
    array[1][1]=10.6;
    array[1][2]=35.9;
    array[1][3]=108.7;
    array[1][4]=223.5;
    array[1][5]=288.5;
    array[1][6]=280.7;
    array[1][7]=102.8;
    array[1][8]=137.5;
    array[1][9]=178.7;
    array[1][10]=65.5;
    array[1][11]=18.0;
    array[2][0]=27.3;
    array[2][1]=5.2;
    array[2][2]=21.2;
    array[2][3]=119.4;
    array[2][4]=10.7;
    array[2][5]=115.2;
    array[2][6]=234.7;
    array[2][7]=107.2;
    array[2][8]=69.4;
    array[2][9]=115.8;
    array[2][10]=85.4;
    array[2][11]=9.6;
    //各年总降水
    double threeYearSum=0;
    cout<<"year:  "<<"Rainfall(mm)"<<endl;
    for(int i=0;i<3;i++){
        int year=2016+i;
        double sum=0;
        for(int j=0;j<12;j++){
            sum+=array[i][j];
        }
        threeYearSum+=sum;
        cout<<year<<"  "<<sum<<endl;
    }
    cout<<"The annual average raonfall for 2016-2018 is "<<threeYearSum/3<<"mm"<<endl;
    cout<<"The monthly average rainfall values in mm are:"<<endl;
    cout<<"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec"<<endl;
    for (int j = 0; j < 12; j++)
    {
        double monthAvg=0;
       for(int i=0;i<3;i++){
            monthAvg+=array[i][j];
       }
        monthAvg/=3.0;
        cout<<monthAvg<<" ";
    }
    
}