网站导航:C++2010年下半年程序员考试试题2010年下半年程序员考试试题>列表1

题目:

阅读以下说明和C++代码,将应填入 (n) 处的语句或语句成分写在答题纸的对应栏内。
【说明】

某数据文件students.txt的内容为100名学生的学号和成绩,下面的程序将文件中的数据全部读入对象数组,按分数从高到低进行排序后选出排名前30%的学生。

【C++代码】
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
 
class Student
   private:
    string sNO;   //学号
    int credit;    //分数
   public:
    Student(string a,int b) sNO = a; credit = b;
    Student( )
    int getCredit( );
    void out( );
;
  (1)  ::getCredit( )
   return credit;

  (2)  ::out( )
   cout << "SNO: " << sNO << ", Credit=" << credit << end1;

class SortStudent
   public:
    void sort(Student *s, int n);
    SortStudent()
;
void SortStudent::sort(Student *s,int n)
   for(int i = 0; i < n-1; i++)
    for(int j = i+1; j < n; j++)
if(si.  (3)  < sj.  (4)  )
  Student temp = si;    si = sj;    sj = temp;

   
  

int main(int argc, char* argv )

   const int number = 100;   //学生总数
   ifstream students;
   students.open("students.txt");
   if(!students.is_open())
    throw 0;
  
  
   Student *testStudent =   (5)  number;
   int k = 0;
   string s;
   while (getline(students,s,’\n’))     //每次读取一个学生的学号和成绩
    Student student(s.substr(0,s.find(’,’)), atoi(s.substr(s.find
    (’,’)+1).c_str()));
    testStudentk++ = student;
  
   students.close();
  
     (6)  ;
   ss.sort(testStudent,k);
   cout <<"top 30%: "<<end1;
   for(k = 0; k < number * 0.3; k++)
    testStudentk.out();
  
   delete testStudent;
   return 0;

考点:C++程序设计

1
1条数据

其它类目题库