#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;
}
数据没初始化为零,加等不可行