c语言编写一个函数print,输出若干位学生的数据记录,有5位学生,每一位学生的数据记录包括学号(num),姓名(name),三门课的成绩(g[3]),要求用主函数输入这些记录,用print函数输出这些记录。请编程实现。 提示: 1:定义一个S结构体类型,包含学号、姓名、三门课成绩成员; struct s { int num; //定义学号成员 char name[8]; //定义姓名成员 int g[3]; //定义g数组,三个元素,分别接受三门课成绩 }; 2:定义print(struct S x[]) 完成相应数据的输出; 3:主函数S结构体类型数组的定义、每一位同学相关信息的输入; 4:调用print()函数完成输出。
时间: 2023-06-19 17:09:28 浏览: 108
以下是代码实现:
```
#include <stdio.h>
struct S {
int num;
char name[8];
int g[3];
};
void print(struct S x[]) {
for (int i = 0; i < 5; i++) {
printf("学号:%d\t姓名:%s\t成绩:%d %d %d\n", x[i].num, x[i].name, x[i].g[0], x[i].g[1], x[i].g[2]);
}
}
int main() {
struct S stu[5];
for (int i = 0; i < 5; i++) {
printf("请输入第%d位学生的学号、姓名和三门课成绩:", i+1);
scanf("%d %s %d %d %d", &stu[i].num, stu[i].name, &stu[i].g[0], &stu[i].g[1], &stu[i].g[2]);
}
print(stu);
return 0;
}
```
主要思路是定义一个结构体类型S,包含学号、姓名、三门课成绩成员。然后定义一个print函数,循环输出每一位学生的相关信息。在主函数中,定义结构体类型数组stu,并用循环依次输入每一位学生的相关信息。最后调用print函数输出这些记录。
相关问题
C语言编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数据记录,每个记录包括num,name,score[3],用主函数输入这些记录,用print函数输出这些记录。
可以参考下面的代码实现:
```c
#include <stdio.h>
struct Student {
int num;
char name[20];
int score[3];
};
void print(struct Student stu[], int n)
{
printf("学号\t姓名\t成绩1\t成绩2\t成绩3\n");
for (int i = 0; i < n; i++) {
printf("%d\t%s\t%d\t%d\t%d\n", stu[i].num, stu[i].name, stu[i].score[0], stu[i].score[1], stu[i].score[2]);
}
}
int main()
{
struct Student stu[5];
for (int i = 0; i < 5; i++) {
printf("请输入第%d个学生的学号、姓名和成绩:\n", i + 1);
scanf("%d %s %d %d %d", &stu[i].num, stu[i].name, &stu[i].score[0], &stu[i].score[1], &stu[i].score[2]);
}
print(stu, 5);
return 0;
}
```
在主函数中定义了一个包含5个学生记录的结构体数组,通过循环输入每个学生的学号、姓名和成绩,然后调用print函数输出这些记录。print函数中首先输出表头,然后循环输出每个学生的信息。注意,在输出学生姓名时,使用%s格式化字符串。
用C语言编写一个函数print,输出一个学生的成绩数组,该数组中有5个学生的数据记录,每个记录包括num,name, score[3],用主函数输入这些记录,用print输出达些记录。要求:针对学生记录定义 student结构体。
好的,下面是C语言编写的代码实现:
```c
#include <stdio.h>
// 定义学生结构体
struct student {
int num;
char name[20];
int score[3];
};
// 输出学生数组的函数
void print(struct student stu[], int n) {
int i, j;
for (i = 0; i < n; i++) {
printf("学号:%d,姓名:%s,成绩:", stu[i].num, stu[i].name);
for (j = 0; j < 3; j++) {
printf("%d ", stu[i].score[j]);
}
printf("\n");
}
}
int main() {
struct student stu[5];
int i, j;
printf("请输入5个学生的信息:\n");
for (i = 0; i < 5; i++) {
printf("学号:");
scanf("%d", &stu[i].num);
printf("姓名:");
scanf("%s", stu[i].name);
printf("成绩:");
for (j = 0; j < 3; j++) {
scanf("%d", &stu[i].score[j]);
}
}
printf("\n学生的信息如下:\n");
print(stu, 5);
return 0;
}
```
在上述代码中,我们定义了一个学生结构体,包含了学号、姓名和三门课程的成绩,然后编写了输出学生数组的函数,最后在主函数中输入学生信息,调用 print 函数输出学生数组。
阅读全文