程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> 數組 輸出 錯誤-C++,運行輸出nan,重復輸出卻恢復正常。

數組 輸出 錯誤-C++,運行輸出nan,重復輸出卻恢復正常。

編輯:編程解疑
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。。。這樣就可以了!!!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved