L1-005 考试座位号
1 #include<iostream> 2 using namespace std; 3 #include<string> 4 5 class people 6 { 7 public: 8 string number; //准考证号 9 int a; //试机座位号 10 int b; //考试座位号 11 }; 12 13 int main() 14 { 15 16 int sum, i, x, j; //i,j 循环变量, x 取的人数 17 cin >> sum; //人数 18 people* p = new people[sum]; // new一块内存 19 for (i = 0; i < sum; i++) // 输入数据 20 { 21 cin >> p[i].number; 22 cin >> p[i].a; 23 cin >> p[i].b; 24 } 25 cin >> x; 26 int *num = new int [x]; // new一块内存 27 for (i = 0; i < x; i++) 28 { 29 cin >> num[i]; 30 } 31 for (j = 0; j < x; j++) //输出 32 { 33 for (i = 0; i < sum; i++) 34 { 35 if (p[i].a == num[j]) 36 { 37 cout << p[i].number << 38 " " << p[i].b << endl; 39 } 40 } 41 } 42 43 system("pause"); 44 delete [] num; 45 delete [] p; 46 return 0; 47 }
第一次用类写题目,当然,犯了许多低级错误
1.new一块内存空间的时候忘记返回值是一个同类型的指针。
2.delete堆区内存是忘记申请的内存空间是数组,这个bug找了很久。
3.变量定义太多,记混了。
当然,题目写出来还是很开心的。

浙公网安备 33010602011771号