原题链接:[编程入门]结构体之成绩记录
解题思路:
透过题意看本质,这题其实就是数组的输入与输出
只不过数组里放得是结构体
定义一个结构体,里面储存这学号,名字,与三科成绩
输入学生个数 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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复