【问题描述】建立一个对象数组,从键盘输入n个学生的数据(学号、成绩),用指针指向数组的首元素地址,输出1\3\5等奇数项上的学生数据。
【输入说明】输入有n+1行,第一行输入正整数n,接下来的n行输入n个学生的数据,学号与成绩之间用空格分隔
【输出说明】输出有n/2行,或n/2+1行,分别表示学生数组中奇数项上的学生数据,学号信息占12位宽度。
【输入样例】
3
zhangsan 100
lisi 65.5
wangwu 78.1
【输出样例】
zhangsan 100
wangwu 78.1
【样例说明】对象数组中存储了3个学生的信息,奇数项为1和3,则输出第1项和第3项的学生数据。
【答题说明】请将完整的程序源码粘贴在答题框内,并给出两组输入输出测试用例及运行截图。
代码:
#include <iostream>
#include <iomanip>
using namespace std;
class student{
private:
double score;
string num;
public:
void setscore()
{
cin>>score;
}
void setnum()
{
cin>>num;
}
void showscore()
{
cout<<score<<endl;
}
void shownum()
{
cout<<left<<setw(12)<<num<<" ";
}
};
int main()
{
student *p;
int n;
cin>>n;
p=new student[n];
for(int i=0;i<n;i++)
{
p->setnum();
*p;
p->setscore();
*p;
p++;
}
p=p-n;
cout<<endl;
for(int i=0;i<n;i+=2)
{
p->shownum() ;
*p;
p->showscore ();
*p;
p+=2;
}
}
Simple Input 1
3
zhangsan 100
lisi 65.5
wangwu 78.1
Simple Input 2
5
zhangsan 100
lisi 65.5
wangwu 78.1
kery 99.5
keryer 97
Simple Output 1
Simple Output 2