编写一个记录5个学生的姓名、性别、年龄和学号的程序,要求使用结构数组表示学生信息,用for循环获得键盘输入的学生记录的数据,所有数据输入完毕后,将5个学生的信息在屏幕上输出,格式要求:按表格行列格式输出,每行输出一个学生的信息,按照姓名、性别、年龄、学号的顺序,各列信息左对齐,各信息占10位。
时间: 2023-04-19 16:00:52 浏览: 161
以下是一个简单的C语言程序,实现了上述要求:
#include <stdio.h>
struct student {
char name[10];
char gender[10];
int age;
int id;
};
int main() {
struct student s[5];
int i;
// 用for循环获得键盘输入的学生记录的数据
for (i = ; i < 5; i++) {
printf("请输入第%d个学生的姓名、性别、年龄和学号:\n", i+1);
scanf("%s %s %d %d", s[i].name, s[i].gender, &s[i].age, &s[i].id);
}
// 输出5个学生的信息
printf("姓名\t性别\t年龄\t学号\n");
for (i = ; i < 5; i++) {
printf("%-10s%-10s%-10d%-10d\n", s[i].name, s[i].gender, s[i].age, s[i].id);
}
return ;
}
相关问题
2.编写一个程序.定文一个学生类(Student).数据成员包括学号。姓名、性别和年龄.函数set0初始化学号.姓名、性别和年龄。show0输出学生的学号、姓名、性别和年龄。在主函数中定义对象数组。并实现输入5个学生的学号.姓名、性别和年龄。按年龄从大到小进行排序输出.
以下是C知道的回答:
可以使用以下代码来实现:
```
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
class Student {
public:
void set0(string id, string name, string gender, int age) {
m_id = id;
m_name = name;
m_gender = gender;
m_age = age;
}
void show0() {
cout << "学号:" << m_id << ",姓名:" << m_name << ",性别:" << m_gender << ",年龄:" << m_age << endl;
}
bool operator<(const Student& other) const {
return m_age > other.m_age;
}
private:
string m_id;
string m_name;
string m_gender;
int m_age;
};
int main() {
Student students[5];
for (int i = 0; i < 5; i++) {
string id, name, gender;
int age;
cout << "请输入第" << i + 1 << "个学生的学号、姓名、性别和年龄:" << endl;
cin >> id >> name >> gender >> age;
students[i].set0(id, name, gender, age);
}
sort(students, students + 5);
cout << "按年龄从大到小排序后的学生信息为:" << endl;
for (int i = 0; i < 5; i++) {
students[i].show0();
}
return 0;
}
```
这个程序定义了一个名为Student的类,包含了学号、姓名、性别和年龄等数据成员,以及set0和show0两个成员函数。在主函数中,定义了一个包含5个Student对象的数组,通过循环输入每个学生的信息,并使用sort函数按年龄从大到小排序,最后输出排序后的学生信息。
希望这个回答能够帮到你!
、编写 个程序,定义 学生类(Student).数据成员包括学号、姓名、性别和年龄,函数set)初始化学号.姓名、性别和年龄。show0输出学生的学号、姓名、性别和年龄,在主函数中定义对象数组,并实现输入5个学生的学号.姓名、性别和年龄,按年龄从大到小进行排序输出.
### 回答1:
好的,以下是我为您编写的程序:
```python
class Student:
def __init__(self, id, name, gender, age):
self.id = id
self.name = name
self.gender = gender
self.age = age
def show(self):
print("学号:", self.id)
print("姓名:", self.name)
print("性别:", self.gender)
print("年龄:", self.age)
students = []
for i in range(5):
id = input("请输入第{}个学生的学号:".format(i+1))
name = input("请输入第{}个学生的姓名:".format(i+1))
gender = input("请输入第{}个学生的性别:".format(i+1))
age = int(input("请输入第{}个学生的年龄:".format(i+1)))
student = Student(id, name, gender, age)
students.append(student)
students.sort(key=lambda x: x.age, reverse=True)
print("按年龄从大到小排序后的学生信息:")
for student in students:
student.show()
```
希望这个程序能够满足您的需求。如果您有任何问题或者需要进一步的帮助,请随时告诉我。
### 回答2:
编写一个程序,定义一个学生类(Student),其中包括学号、姓名、性别和年龄这几个数据成员。在类中定义一个函数set(),用来初始化学号、姓名、性别和年龄。另外再定义一个函数show()用来输出学生的学号、姓名、性别和年龄。在主函数中定义一个对象数组,并实现输入5个学生的学号、姓名、性别和年龄,并按照年龄从大到小的顺序进行排序输出。
下面是完成这个程序的代码:
#include<iostream>
#include<string>
using namespace std;
//定义学生类
class Student{
private:
string studentID; //学号
string name; //姓名
string gender; //性别
int age; //年龄
public:
//初始化学号、姓名、性别和年龄
void set(string id, string n, string g, int a){
studentID = id;
name = n;
gender = g;
age = a;
}
//输出学号、姓名、性别和年龄
void show(){
cout << "学号:" << studentID << endl;
cout << "姓名:" << name << endl;
cout << "性别:" << gender << endl;
cout << "年龄:" << age << endl;
}
};
int main(){
//定义学生对象数组
Student students[5];
//输入5个学生的学号、姓名、性别和年龄
for(int i=0; i<5; i++){
string id, n, g;
int a;
cout << "请输入第" << i+1 << "个学生的学号:";
cin >> id;
cout << "请输入第" << i+1 << "个学生的姓名:";
cin >> n;
cout << "请输入第" << i+1 << "个学生的性别:";
cin >> g;
cout << "请输入第" << i+1 << "个学生的年龄:";
cin >> a;
students[i].set(id, n, g, a);
}
//按照年龄从大到小进行排序输出
for(int i=0; i<5; i++){
for(int j=i+1; j<5; j++){
if(students[i].age < students[j].age){
swap(students[i], students[j]);
}
}
}
//输出学生信息
for(int i=0; i<5; i++){
cout << "第" << i+1 << "个学生信息:" << endl;
students[i].show();
cout << endl;
}
return 0;
}
这个程序中,首先定义了一个学生类(Student)。学生类中有一个函数set()用来设置学号、姓名、性别和年龄,还有一个函数show()用来输出学生的信息。在主函数中,定义了一个学生对象数组,并通过循环输入了5个学生的信息。然后通过冒泡排序的方法将学生按照年龄从大到小进行排序。最后将排序后的学生信息输出。
### 回答3:
编写一个Python程序来定义学生类(Student),数据成员包括学号、姓名、性别和年龄。set函数用来初始化学生的学号、姓名、性别和年龄。show函数用来输出学生的学号、姓名、性别和年龄。在主函数中定义一个对象数组,并实现输入5个学生的学号、姓名、性别和年龄。然后按照年龄从大到小的顺序对学生进行排序并输出。
下面是程序的代码示例:
```python
class Student:
def __init__(self, student_id, name, gender, age):
self.student_id = student_id
self.name = name
self.gender = gender
self.age = age
def show(self):
print("学号:", self.student_id)
print("姓名:", self.name)
print("性别:", self.gender)
print("年龄:", self.age)
print()
# 排序函数,按照学生的年龄从大到小进行排序
def sort_students(students):
students.sort(key=lambda x: x.age, reverse=True)
return students
# 主函数
def main():
students = []
# 输入学生信息
for i in range(5):
student_id = input("请输入学号: ")
name = input("请输入姓名: ")
gender = input("请输入性别: ")
age = input("请输入年龄: ")
# 创建学生对象并添加到学生数组中
student = Student(student_id, name, gender, age)
students.append(student)
# 按年龄从大到小排序并输出学生信息
sorted_students = sort_students(students)
for student in sorted_students:
student.show()
if __name__ == "__main__":
main()
```
运行程序时,会要求输入5个学生的学号、姓名、性别和年龄。然后程序会按照学生的年龄从大到小排序并输出学生的学号、姓名、性别和年龄。
阅读全文