A改错题--学生信息的输入和输出
时间: 1ms 内存:128M
描述:
注:本题只需要提交标记为修改部分之间的代码,请按照C++方式提交。
阅读并修改以下程序,实现学生信息的输入和输出。
#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
class Student
{
private:
const int maxSchoolPeriod; //学制
int no; //学号
char name[20]; //姓名
public:
/*****修改的起始行******/
Student(int Period,int no,char name[]):name(name)
{
this->maxSchoolPeriod = Period;
no = no;
}
/*****修改的终止行*****/
void output()
{
cout<<maxSchoolPeriod<<" "<<no<<" "<<name<<endl;
}
};
int main()
{
int no;
char name[20];
cin>>no>>name;
Student stu1(4,no,name); //本科生4年
cin>>no>>name;
Student stu2(3,no,name); //专科生3年
stu1.output();
stu2.output();
return 0;
}
输入:
第一行: 学号 姓名
第二行: 学号 姓名
输出:
第一行: 学制 学号 姓名
第二行: 学制 学号 姓名
示例输入:
101 zhangsan
102 lisi
示例输出:
4 101 zhangsan
3 102 lisi
提示:
参考答案(内存最优[1092]):
#include<stdio.h>
int main()
{
int a=4,b=3;
char str1[20],str2[20];
gets(str1);
gets(str2);
printf("%d ",a);
puts(str1);
printf("%d ",b);
puts(str2);
return 0;
}
参考答案(时间最优[0]):
#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
class Student
{
private:
const int maxSchoolPeriod; //
int no; //
char name[20]; //
public:
Student(int P,int n,char na[]):maxSchoolPeriod(P),no(n)
{
strcpy(name,na);
}
void output()
{
cout<<maxSchoolPeriod<<" "<<no<<" "<<name<<endl;
}
};
int main()
{
int no;
char name[20];
cin>>no>>name;
Student stu1(4,no,name); //本科生4年
cin>>no>>name;
Student stu2(3,no,name); //专科生3年
stu1.output();
stu2.output();
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。
