原题链接:[编程入门]结构体之成绩记录
解题思路:
透过题意看本质,这题其实就是数组的输入与输出
只不过数组里放得是结构体
定义一个结构体,里面储存这学号,名字,与三科成绩
输入学生个数 n ,然后定义一个大小为 n 的结构体数组,方法和普通的数组相同
假如结构体名为 stu ,那么定义一个大小为 n 的数组只需要这样:
stu a[n]; //定义学生数组a
顺便一提,同类型结构体之间是可以直接赋值的
比如 stuA = stuB 就是把学生B中的元素赋值给学生A,而且不会有副作用
之后有结构体排序的题时就可以用到了
参考代码:
#include <stdio.h> struct stu //定义结构体stu { char id[101]; //学号 char name[101]; //名字 int score[3]; //分数,也可用三个int变量 }; void myInput(stu a[], int n) //输入函数,a为学生数组,n为个数 { for (int i = 0; i < n; i++) //循环n次输入 { scanf("%s %s %d %d %d", a[i].id, a[i].name, &a[i].score[0], &a[i].score[1], &a[i].score[2]); } } void myOutput(stu a[], int n) //输出函数 { for (int i = 0; i < n; i++) //循环n次输出 { printf("%s,%s,%d,%d,%d\n", a[i].id, a[i].name, a[i].score[0], a[i].score[1], a[i].score[2]); } } int main() { int n; scanf("%d", &n); stu a[n]; //定义学生数组 myInput(a, n); //调用输入 myOutput(a, n); //调用输出 return 0; }
0.0分
11 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复