C语言习题 学生成绩输入和输出
时间: 1ms 内存:128M
描述:
编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数据,每个学生的数据包括num(学号)、name(姓名)、score[3](3门课的成绩)。编写一个函数input,用来输入5个学生的数据。
输入:
5个学生的学号,姓名,3门课的成绩
输出:
5个学生的学号,姓名,3门课的成绩
示例输入:
1001 zhangsan 100 90 86
1002 lisi 90 20 80
1003 wangwu 90 90 89
1004 yanping 100 100 100
1005 xiaoxiao 60 60 60
示例输出:
1001 zhangsan 100 90 86
1002 lisi 90 20 80
1003 wangwu 90 90 89
1004 yanping 100 100 100
1005 xiaoxiao 60 60 60
提示:
参考答案(内存最优[0]):
#include<iostream>
#include<string>
using namespace std;
struct student{
int num;
string name;
int s[3];
};
void input(struct student stu[],int n)
{int i;
for(i=0;i<n;i++)
{
cin>>stu[i].num>>stu[i].name>>stu[i].s[0]>>stu[i].s[1]>>stu[i].s[2];
}
}
void print(struct student stu[],int n)
{int i;
for(i=0;i<n;i++)
{
cout<<stu[i].num<<" "<<stu[i].name<<" "<<stu[i].s[0]<<" "<<stu[i].s[1]<<" "<<stu[i].s[2];
cout<<endl;
}
}
int main()
{
const int n=5;
student stu[n];
void input(student [],int );
void print(student [],int );
input(stu,n);
print(stu,n);
return 0;
}
参考答案(时间最优[0]):
#include <iostream>
#include <stdio.h>
#include <string>
#include <cmath>
using namespace std;
struct student
{
int num;
string name;
int score[4];
};
void input(student stu[],int n)
{
int i,j;
for(i=0;i<n;++i)
{
cin>>stu[i].num>>stu[i].name;
for(j=0;j<3;++j)
{
cin>>stu[i].score[j];
}
}
}
void print(student stu[],int n)
{
int i,j;
for(i=0;i<n;++i)
{
cout<<stu[i].num<<" "<<stu[i].name<<" ";
for(j=0;j<2;++j)
{
cout<<stu[i].score[j]<<" ";
}
cout<<stu[i].score[2];
cout<<endl;
}
}
int main()
{
const int n=5;
student stu[n];
void input(student [],int );
void print(student [],int );
input(stu,n);
print(stu,n);
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。