题目
使用new动态的分配100个如下的结构的内存
struct Student {
char name[50];
int age;
float score;
};
对其赋值和打印,最后使用delete释放内存
#include <iostream>
#include <cstring>
using namespace std;
struct Student {
char name[50];
int age;
float score;
};
int main() {
int num;
cout << "The number of students is :" ;
cin >> num;
Student* students = new Student[num];
for (int i = 0; i < num; ++i) {
cout << "Enter details for student " << i + 1 << ":" << endl;
cout << "Name: ";
cin.ignore(); // 忽略之前的换行符
cin.getline(students[i].name, 50);
cout << "Age: ";
cin >> students[i].age;
cin.ignore(); // 忽略输入缓冲中的换行符
cout << "Score: ";
cin >> students[i].score;
cin.ignore(); // 忽略输入缓冲中的换行符
cout << std::endl;
}
// 打印每个学生的信息
for (int i = 0; i < num; ++i) {
cout << "Student " << i + 1 << ":" << endl;
cout << "Name: " << students[i].name << " Age: " << students[i].age << " Score: " << students[i].score << endl;
cout << endl;
}
delete[] students;
return 0;
}