C++,运行输出nan,重复输出却恢复正常。

输出学生成绩时出现nan

为了加个单科平均分,我把前四行和第五行**分开来输出**的

但是第五行**前两个却显示nan**,第三个没问题

诡异的是,将第五行的输出代码**复制粘贴一遍**,却**恢复正常了!!**

难道后面的输出还会对前面的输出有影响吗?

 #include<iostream>
using namespace std;
int main()
{
    float grade[5][5];    //定义成绩数组 
    for(int j=0;j<4;j++)
    {
            for(int i=0;i<1;i++)
            {

            cout<<"请输入第"<<j+1<<"位同学的语文,数学英语成绩"<<endl;
            cin>>grade[j][i]>>grade[j][i+1]>>grade[j][i+2];
            grade[j][3]=grade[j][i]+grade[j][i+1]+grade[j][i+2];
            grade[j][4]=grade[j][3]/3;
            }
    }
    for(int j=0;j<3;j++)
    {
            for(int i=0;i<4;i++)
            {
            grade[4][j]+=grade[i][j];
            }
            grade[4][j]/=4;
    }

    cout<<'\t'<<"语文"<<'\t'<<"数学"<<'\t'<<"英语"<<'\t'<<"总分"<<'\t'<<"平均分"<<endl; 
    for(int j=0;j<4;j++)
    {
        cout<<"同学"<<j+1<<'\t'; 
        for(int i=0;i<5;i++)
        {
            cout<<grade[j][i]<<'\t' ;
         }
         cout<<endl;
     }


     cout<<"平均分"<<'\t';
     for(int i=0;i<3;i++)
     {
        cout<<grade[4][i]<<'\t';
     }
 } 

图片说明
图片说明
图片说明

float grade[5][5] = {0}; 请初始化为0。。。这样就可以了!!!