#include <iostream> using namespace std; int main() { //定义一个指针,用于管理一定范围的学生成绩 float *pScore;//score:成绩 //总成绩,平均成绩 float total_score=0,average; //要求用户输入学生总数 int total_student;//学生总数 cout<<"请输入学生总数:"; cin>>total_student; //对错误输入的处理 if (cin.fail()) { cin.clear(); } cin.sync(); if (total_student<=0) { cout<<"输入数据有误,请重新输入。"<<endl; return -1;//退出 } //在堆中建立total_student个空间,并让指针pScore管理 pScore=new float[total_student]; //利用循环实现输入 for (int i=0;i<total_student;i++) { cout<<"请输入第"<<i+1<<"个学员的成绩:"; cin>>pScore[i];// pScore[i]=*(pScore+i) //不断累积总成绩 total_score +=pScore[i]; } //平均成绩 average=(float)total_score/total_student; //输出 cout<<"总成绩:"<<total_score<<endl; cout<<"平均成绩:"<<average<<endl; //实现查询 int k; do { cout<<"请输入要查询的学生编号(1~"<<total_student<<"):"; cin>>k; if(k>=1 && k<=total_student) cout<<pScore[k-1]<<endl; else if(k!=0) cout<<"你输入有误!"<<endl; } while (k!=0);//用户输入0,表示结束 //释放分配的内存 delete [] pScore; return 0; }