建立一个学生信息结构体数组,包括学号num,姓名name[10],年龄age性别sex(F/M)。要求通过函数input输入4个数据记录,并且在main函数中输出这4个学生的信息。输入输出示例: 输入:01 abc 18 M 02 cde 19 F 03 fgh 19 M 04 ijk 17 F 输出:num name age sex 01 abc 18 M 02 cde 19 F 03 fgh 19 M 04 ijk 17 F
时间: 2024-02-24 16:00:41 浏览: 464
这个问题我之前已经回答过了,以下是代码:
```c
#include <stdio.h>
#include <stdlib.h>
struct student {
int num;
char name[10];
int age;
char sex;
};
void input(struct student *s) {
printf("请输入学生的学号、姓名、年龄、性别(F/M):\n");
scanf("%d %s %d %c", &s->num, s->name, &s->age, &s->sex);
}
int main() {
struct student s[4];
for (int i = 0; i < 4; i++) {
input(&s[i]);
}
printf("num name age sex\n");
for (int i = 0; i < 4; i++) {
printf("%02d %-4s %2d %c\n", s[i].num, s[i].name, s[i].age, s[i].sex);
}
return 0;
}
```
程序运行时,会先调用 input 函数输入 4 个学生的信息,然后在 main 函数中输出这 4 个学生的信息。注意,我们在输出时使用了格式化字符串,其中 %02d 表示输出一个 2 位数的整数,不足 2 位时前面补 0;%-4s 表示输出一个字符串,占用 4 个字符的宽度,左对齐;%2d 表示输出一个 2 位数的整数,不足 2 位时前面补空格;%c 表示输出一个字符。这样可以让输出的格式更加整齐。
阅读全文
相关推荐


















