CodeRookie


私信TA

用户名:Shmily124

访问量:118329

签 名:

清风前烹茶对弈,明月下把酒言欢

等  级
排  名 15
经  验 21059
参赛次数 7
文章发表 39
年  龄 0
在职情况 学生
学  校 ZUA
专  业 计科

  自我简介:

悄悄地秃头,然后惊艳所有人?

解题思路:

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

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


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

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

15 人评分

  评论区

这是c++代码 兄弟们看准
2022-12-28 23:41:25
都提交不了,别乱写了
2022-08-25 10:02:03
  • «
  • 1
  • »