建立n名学生,其中包括学号,姓名,性别
时间: 2023-07-27 21:25:04 浏览: 76
好的,您可以使用以下代码建立 n 名学生的信息,并包括学号、姓名和性别:
```python
students = []
n = int(input("请输入学生人数:"))
for i in range(n):
student = {}
student['学号'] = input("请输入第%d位学生的学号:" % (i+1))
student['姓名'] = input("请输入第%d位学生的姓名:" % (i+1))
student['性别'] = input("请输入第%d位学生的性别:" % (i+1))
students.append(student)
print("学生信息录入完毕!")
print(students)
```
以上代码中,我们首先定义了一个空列表 students,然后通过输入来确定需要录入的学生人数 n。接下来,通过 for 循环,逐个录入每位学生的信息。
在每次循环中,我们创建一个空字典 student,并使用 input 函数分别获取学生的学号、姓名和性别,并将其作为字典的键值对存储。最后,将该字典添加到 students 列表中。
最后,我们输出录入的学生信息,以及列表 students 的内容,以确保信息录入成功。
相关问题
C语言建立N名学生信息登记表,其中包括学号,姓名,性别及五门功课成绩
下面是一个简单的 C 语言程序,用于建立学生信息登记表:
```c
#include <stdio.h>
#include <stdlib.h>
struct student
{
int id;
char name[20];
char gender;
float score[5];
};
int main()
{
int n, i, j;
struct student *stu;
printf("请输入学生数量:");
scanf("%d", &n);
stu = (struct student*)malloc(sizeof(struct student) * n);
for (i = 0; i < n; i++)
{
printf("请输入第%d个学生的学号、姓名、性别和五门功课成绩:\n", i + 1);
scanf("%d %s %c", &(stu+i)->id, (stu+i)->name, &(stu+i)->gender);
for (j = 0; j < 5; j++)
{
scanf("%f", &(stu+i)->score[j]);
}
}
printf("\n学生信息登记表:\n");
printf("学号\t姓名\t性别\t成绩1\t成绩2\t成绩3\t成绩4\t成绩5\n");
for (i = 0; i < n; i++)
{
printf("%d\t%s\t%c\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\n", (stu+i)->id, (stu+i)->name, (stu+i)->gender, (stu+i)->score[0], (stu+i)->score[1], (stu+i)->score[2], (stu+i)->score[3], (stu+i)->score[4]);
}
free(stu);
return 0;
}
```
该程序使用了结构体来表示每个学生的信息,其中包括学号、姓名、性别和五门功课成绩。程序首先通过 `scanf` 函数获取学生数量 `n`,然后动态分配一段内存空间,用于存放 `n` 个学生的信息。
接下来,程序通过循环依次获取每个学生的信息,并将其保存到动态分配的内存空间中。最后,程序输出学生信息登记表,包括每个学生的学号、姓名、性别和五门功课成绩。
注意,为了确保程序能够正确地访问每个学生的信息,我们使用了指针运算符 `->`。例如,`(stu+i)->id` 表示第 `i` 个学生的学号。
c语言建立n名学生信息登记表,包括学号、姓名、性别及3门课程的成绩,从键盘输入学
以下是建立n名学生信息登记表的C语言代码:
```c
#include <stdio.h>
struct Student {
int studentId;
char name[50];
char gender;
float scores[3];
};
int main() {
int n; // 学生人数
printf("请输入学生人数:");
scanf("%d", &n);
struct Student students[n];
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的学号:", i+1);
scanf("%d", &students[i].studentId);
printf("请输入第%d个学生的姓名:", i+1);
scanf("%s", students[i].name);
printf("请输入第%d个学生的性别(M表示男性,F表示女性):", i+1);
scanf(" %c", &students[i].gender);
printf("请依次输入第%d个学生的3门课程成绩:", i+1);
for (int j = 0; j < 3; j++) {
scanf("%f", &students[i].scores[j]);
}
}
// 输出学生信息
for (int i = 0; i < n; i++) {
printf("学号:%d\n", students[i].studentId);
printf("姓名:%s\n", students[i].name);
printf("性别:%c\n", students[i].gender);
printf("成绩:");
for (int j = 0; j < 3; j++) {
printf("%.2f ", students[i].scores[j]);
}
printf("\n\n");
}
return 0;
}
```
这段代码首先要求输入学生人数n,然后根据n的值定义一个存储学生信息的数组`students`。接下来,通过遍历数组,依次输入每个学生的学号、姓名、性别和3门课程的成绩。之后,再次遍历数组,打印出每个学生的学号、姓名、性别和成绩。
请注意,在输入学生性别时,为了避免之前输入的换行符对后续输入造成干扰,在`scanf`函数前添加了一个空格。
此外,这段代码假设输入的学生人数n不会超过数组`students`的长度。