解题思路

看到此题是关于结构体的,在C++中又叫做类,明确解题方向。

注意事项

详见参考代码及注释。

参考代码
  1. #include<iostream> //包含输入输出流文件
  2. using namespace std; //声明命名空间
  3. class STU { //定义名为STU的类
  4. private: //定义私有对象————学生各项内容
  5. string No, Name; //定义学号,姓名
  6. int Grade[3]; //定义学生三科成绩
  7. public: //定义公共对象————相关处理函数
  8. int _Input(int n, STU* p); //定义输入函数
  9. int _Output(int n, STU* p); //定义输出函数
  10. }; //结尾分号不要遗漏
  11. int STU::_Input(int n, STU* p) { //输入函数原型,参数详见main函数(下同)
  12. for (int i = 0; i < n; i++) { //共n名学生,n次循环
  13. cin >> (p + i)->No >> (p + i)->Name; //对第i+1名学生学号,姓名赋值
  14. cin >> p[i].Grade[0] >> p[i].Grade[1] >> p[i].Grade[2];//对第i+1名学生三科成绩赋值
  15. }
  16. return 0;
  17. }
  18. int STU::_Output(int n, STU* p) { //输出函数原型
  19. for (int i = 0; i < n; i++) { //同输入函数(下同)
  20. cout << (p + i)->No << ',' << (p + i)->Name << ',';
  21. cout << p[i].Grade[0] << ',' << p[i].Grade[1] << ',' << p[i].Grade[2];
  22. cout << endl;
  23. }
  24. return 0;
  25. }
  26. int main() {
  27. int n; //定义整形n用来接收学生数
  28. cin >> n; //输入学生总数n
  29. STU* p=new STU[n]; //定义n个STU类型的类,并将首地址传给STU类的指针p
  30. (*p)._Input(n,p); //调用输入函数,传递学生总数n以及类的首地址p(下同)
  31. (*p)._Output(n,p); //调用输出函数
  32. return 0;
  33. }
首次写题解代码,请大神指点。:pray:
点赞(0)
 

9.6 分

4 人评分

 

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论