这个代码哪里错了,必打赏!

#include
using namespace std;
class Student
{
public:
static void scoretotalcount(float s);
static int sum();
static int average();
static int total,count;
static int arr[100];
private:
int score;

};
int count=0;
void Student::scoretotalcount(float s)
{
for(int i=0;i<s;i++)
{
total+=Student::arr[i];
}
}
int average()
{
return Student::total/Student::count;
}
int sum()
{
return Student::total;
}
int main()
{
cout<<"Please scanf the number of students"<<endl;
int j;
cin>>j;
cout<<"Please scanf the student score";
for(int i=0;i<j;i++)
{
cin>>Student::arr[i];
count++;
}
Student::scoretotalcount(count);
cout<<"总分是"<<Student::sum()<<endl;
cout<<"平均分是"<<Student::average()<<endl;
return 0;
}

total+=Student::arr[i]; total初值设定了吗?

修改处见注释,供参考:

#include <iostream>
using namespace std;
class Student
{
public:
    static void scoretotalcount(int s); //(float s)
    static int sum();
    static int average();
    static int total,count;
    static int arr[100];
private:
    int score;
};
int Student::count=0;      //变量初始化
int Student::total=0;      //变量初始化
int Student::arr[100]={0}; //变量初始化
void Student::scoretotalcount(int s) //void Student::scoretotalcount(float s)
{
    for(int i=0;i<s;i++)
    {
      total+=Student::arr[i];
    }
}
int Student::average()  //int average()
{
    return Student::total/Student::count;
}
int Student::sum()  //int sum()
{
    return Student::total;
}
int main()
{
    cout<<"Please scanf the number of students"<<endl;
    int j;
    cin>>j;
    cout<<"Please scanf the student score";
    for(int i=0;i<j;i++)
    {
        cin>>Student::arr[i];
        Student::count++; //count++;
    }
    Student::scoretotalcount(Student::count);//(count)
    cout<<"总分是"<<Student::sum()<<endl;
    cout<<"平均分是"<<Student::average()<<endl;
    return 0;
}

数据没初始化为零,加等不可行