解题思路:

透过题意看本质,这题其实就是数组的输入与输出

只不过数组里放得是结构体


定义一个结构体,里面储存这学号,名字,与三科成绩

输入学生个数 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.0分

11 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 4 条评论

DAILAO 2年前 回复TA
这是c++代码 兄弟们看准
CodeRookie 2年前 回复TA
@刷题永不止 C提交不了怎么不用C++试试
刷题永不止 2年前 回复TA
@刷题永不止 字符数组不能这样赋值的
刷题永不止 2年前 回复TA
都提交不了,别乱写了