#include <stdio.h> typedef struct //定义学生结构体 { int num; char name[10]; char sex[10]; struct { int year; int month; int day; } Date; char college[20]; char clas[20]; char phone[20]; } stu; stu students[100]; int main() { stu newStudent; printf("请输入学号:"); scanf("%d", &newStudent.num); printf("请输入姓名:"); scanf("%s", newStudent.name); printf("请输入性别:"); scanf("%s", newStudent.sex); printf("请输入生日(年):"); scanf("%d", &newStudent.Date.year); printf("请输入生日(月):"); scanf("%d", &newStudent.Date.month); printf("请输入生日(日):"); scanf("%d", &newStudent.Date.day); printf("请输入院系:"); scanf("%s", newStudent.college); printf("请输入班级:"); scanf("%s", newStudent.clas); printf("请输入电话号码:"); scanf("%s", newStudent.phone); printf("学生信息录入成功!\n"); printf("%d %s %s %d%d%d %s %s %s",newStudent.num,newStudent.name,newStudent.sex,newStudent.Date.year,newStudent.Date.month,newStudent.Date.day,newStudent.college,newStudent.clas,newStudent.phone); return 0; }
时间: 2024-04-12 21:33:16 浏览: 153
这段代码是一个完整的学生信息录入程序。它定义了一个名为`stu`的结构体类型,表示学生的信息。
在`main`函数中,首先定义了一个`stu`类型的变量`newStudent`来存储新录入的学生信息。然后使用`printf`和`scanf`函数来逐个输入学生的学号、姓名、性别、生日、院系、班级和电话号码等信息。
最后,使用`printf`函数将录入的学生信息打印出来,格式化输出了学生的学号、姓名、性别、生日、院系、班级和电话号码等信息。
通过这段代码,可以实现学生信息的录入和输出功能。
相关问题
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_SIZE 100 // 学生信息结构体 typedef struct { char num[10]; // 学号 char name[10]; // 姓名 char clas[10]; // 班级 char sex[10]; // 性别 float score; // 成绩 } Student; // 学生信息数组 Student studentList[MAX_SIZE]; int size = 0; 帮我添加一个可以查询学生成绩最大值和最小值的分函数代码
可以添加以下代码来实现查询学生成绩最大值和最小值的函数:
```c
// 查询学生成绩最大值和最小值
void findMinMaxScore() {
float maxScore = 0, minScore = 100;
for (int i = 0; i < size; i++) {
if (studentList[i].score > maxScore) {
maxScore = studentList[i].score;
}
if (studentList[i].score < minScore) {
minScore = studentList[i].score;
}
}
printf("成绩最高的学生信息:\n");
for (int i = 0; i < size; i++) {
if (studentList[i].score == maxScore) {
printf("学号:%s 姓名:%s 班级:%s 性别:%s 成绩:%.2f\n",
studentList[i].num, studentList[i].name,
studentList[i].clas, studentList[i].sex,
studentList[i].score);
}
}
printf("成绩最低的学生信息:\n");
for (int i = 0; i < size; i++) {
if (studentList[i].score == minScore) {
printf("学号:%s 姓名:%s 班级:%s 性别:%s 成绩:%.2f\n",
studentList[i].num, studentList[i].name,
studentList[i].clas, studentList[i].sex,
studentList[i].score);
}
}
}
```
在主函数中,可以通过调用该函数来查询学生成绩最大值和最小值:
```c
int main() {
// 添加学生信息
// ...
// 查询学生成绩最大值和最小值
findMinMaxScore();
return 0;
}
```
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_NAME_LEN 20 #define MAX_ADDRESS_LEN 50 #define MAX_SEX_LEN 5 #define MAX_PHONE_LEN 11 #define MAX_STUDENT_NUM 1000 // 定义学生结构体 typedef struct { char name[MAX_NAME_LEN]; char address[MAX_ADDRESS_LEN]; char SEX[MAX_SEX_LEN]; char phone[MAX_PHONE_LEN]; } Student; // 定义通讯录结构体 typedef struct { Student students[MAX_STUDENT_NUM]; int num_students; } AddressBook;请写一段修改学生信息的代码
好的,可以参考下面的代码实现修改学生信息:
```c
void modifyStudentInfo(AddressBook *addressBook, int index) {
Student *student = &(addressBook->students[index]);
printf("请输入学生姓名:\n");
scanf("%s", student->name);
printf("请输入学生地址:\n");
scanf("%s", student->address);
printf("请输入学生性别:\n");
scanf("%s", student->SEX);
printf("请输入学生电话号码:\n");
scanf("%s", student->phone);
printf("修改成功!\n");
}
```
这个函数接受两个参数,一个是通讯录结构体指针,另一个是要修改的学生在通讯录中的下标。函数会根据用户输入来修改学生的信息,修改完成后会输出提示信息。注意,函数没有对用户输入进行校验,实际应用中需要加入相应的校验逻辑。
阅读全文