输出学生信息
时间: 1ms 内存:128M
描述:
将输入的学生信息按照要求重新输出。
输入:
第一行是整数t,表明数据组数
在每组数据中,
第一行先是整数n(n<100),表示有n个学生。
接下来有n行,每行表示一个学生。先是一个无空格的字符串,表示姓名,然后是一个非负整数,表示学号。
姓名长度不超过100字符,学号小于1000。
输出:
按照输入的顺序,输出每个学生的信息。先输出学号,再输出姓名,中间用单个空格隔开。
一组数据处理完后,要输出一行 "****"。
示例输入:
2
3
Tom 12
Jack 20
Marry 89
2
Jade 78
White 76
示例输出:
12 Tom
20 Jack
89 Marry
****
78 Jade
76 White
****
提示:
参考答案(内存最优[1096]):
#include <stdio.h>
int main()
{
int n,a,m;
char c[99];
scanf("%d",&n);
while(n--)
{
scanf("%d",&m);
while(m--)
{
scanf("%s %d",c,&a);
printf("%d %s\n",a,c);
}printf("****\n");
}
return 0;
}
参考答案(时间最优[0]):
#include <iostream>
#include <cstring>
using namespace std;
class Student{
public:
Student(char a[],int nu)
{
strcpy(name,a);
num=nu;
}
Student(){}
void Read();
void Print();
private:
int num;
char name[101];
};
void Student::Read()
{
cin>>name>>num;
}
void Student::Print()
{
cout<<num<<' '<<name<<endl;
}
int main()
{
int t;
cin >> t;
Student s("Tom",12);
while( t-- ) {
int n;
cin >> n;
Student st;
for( int i = 0;i < n; ++i) {
st.Read();
st.Print();
}
cout << "****" << endl;
}
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。