以上代码中存在着无法正确输出对象的问题请你修改#include <stdio.h> #include <string.h> typedef struct { char no[7]; char name[10]; char sex[3]; int birthYear; int birthMonth; int birthDay; int grades[4]; int totalGrade; } Student; int main() { Student a[6]; int i, j, total; char d1[11], d2[11]; printf("请输入学生信息:\n"); for (i = 0; i < 6; i++) { printf("第%d个学生的学号、姓名、性别、出生日期、语文、数学、英语:\n", i + 1); scanf("%s %s %s %d-%d-%d %d %d %d", a[i].no, a[i].name, a[i].sex, &a[i].birthYear, &a[i].birthMonth, &a[i].birthDay, &a[i].grades[0], &a[i].grades[1], &a[i].grades[2]); a[i].totalGrade = a[i].grades[0] + a[i].grades[1] + a[i].grades[2]; } printf("请输入两个日期(格式:YYYY-MM-DD):\n"); scanf("%s %s", d1, d2); printf("符合条件的学生信息:\n"); for (i = 0; i < 6; i++) { if (strcmp(a[i].sex, "男") != 0 && strcmp(a[i].sex, "女") != 0) { int year = a[i].birthYear; int month = a[i].birthMonth; int day = a[i].birthDay; char *p = strtok(d1, "-"); int y1 = atoi(p); p = strtok(NULL, "-"); int m1 = atoi(p); p = strtok(NULL, "-"); int d_1 = atoi(p); p = strtok(d2, "-"); int y2 = atoi(p); p = strtok(NULL, "-"); int m2 = atoi(p); p = strtok(NULL, "-"); int d_2 = atoi(p); if ((year > y1 || (year == y1 && month > m1) || (year == y1 && month == m1 && day >= d_1)) && (year < y2 || (year == y2 && month < m2) || (year == y2 && month == m2 && day <= d_2))) { printf("%s %s %s %d-%02d-%02d", a[i].no, a[i].name, a[i].sex, a[i].birthYear, a[i].birthMonth, a[i].birthDay); for (j = 0; j < 3; j++) { printf(" %d", a[i].grades[j]); } printf(" %d\n", a[i].totalGrade); } } } return 0; }
时间: 2024-02-05 12:03:03 浏览: 15
在输出学生信息时,缺少了换行符,导致输出的所有信息都在同一行中。可以在输出语句中加上换行符来解决这个问题,具体修改如下:
```
printf("%s %s %s %d-%02d-%02d", a[i].no, a[i].name, a[i].sex, a[i].birthYear, a[i].birthMonth, a[i].birthDay);
for (j = 0; j < 3; j++) {
printf(" %d", a[i].grades[j]);
}
printf(" %d\n", a[i].totalGrade); // 加上换行符
```
相关问题
解释一下这段代码#include<stdio.h> #include<stdlib.h> #include<time.h> #include<string.h> typedef struct user_information { int flag; int name; char key[10]; struct user_information* next; }user;
这段代码定义了一个名为user_information的结构体类型,并且使用typedef给这个类型取了一个别名叫做user。这个结构体包含了四个成员变量:flag、name、key和next。其中flag和name都是int类型的,key是一个长度为10的字符串,next是一个指向下一个user结构体的指针。
这个结构体可能用于描述一个用户的信息,flag用于标记用户是否已经被删除,name是用户的编号或者姓名,key是用户的密码,next是指向下一个用户的指针,用于构建一个链表来存储多个用户的信息。这些信息可能会在一个用户管理系统或者登录系统中使用。
#include<stdio.h> #include<stdlib.h> #include<time.h> #include<string.h> typedef struct user_information { int flag; int name; char key[10]; struct user_information* next; }user;
这是一个定义了用户信息的结构体 user_information,并定义了一个别名 user。该结构体包含了用户的标识符 flag、用户名 name、密码 key 和指向下一个用户的指针 next。其中,flag 和 name 都是整型,key 是一个长度为 10 的字符串。这个结构体可以用于存储用户的信息,例如在一个用户管理系统中,可以用单链表来存储所有注册的用户信息,每个节点就是一个 user 结构体,包含了该用户的所有信息。
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)