解题思路:
根据题目要求,需要输n个学生的各项数据,且需要定义一个结构体包含学生的各项数据。
那我们可以将一个学生的各项数据作为一个整体,n个学生的话就需要n个整体,所以我们就可以定义一个结构体数组,每个数组元素就是一个结构体,通过n次循环将n个学生的数据输入相应的结构体,在通过n次循环打印各个学生的数据
注意事项:
参考代码:
#include<stdio.h>
struct stu //定义一个stu结构体
{
char id[20]; //学号
char name[20]; //姓名
int score1; //成绩1
int score2; //成绩2
int score3; //成绩3
};
struct stu s[100]; //定义一个全局的结构体数组变量用来存放每个学生的数据
void input(int i) //定义一个整形变量接收主函数传来的 i
{
scanf("%s %s %d %d %d", &s[i].id, &s[i].name, &s[i].score1, &s[i].score2, &s[i].score3); //输入打印第 i 个各项数据
}
void print(int j) //定义一个整形变量接收主函数传来的 j
{
printf("%s,%s,%d,%d,%d", s[j].id, s[j].name, s[j].score1, s[j].score2, s[j].score3); //打印第 j 个学生的各项数据
printf("\n"); //每打印完一个学生的数据记得换行
}
int main()
{
int n;
scanf("%d", &n);
for (int i = 0; i < n; i++) //循环n次输入n个学生的数据
{
input(i); //输入第i个学生的数据
}
for (int j = 0; j < n; j++)
{
print(j); ////打印第j个学生的数据
}
return 0;
}
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复