C语言习题 学生成绩输入和输出

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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注