しんちゃん


私信TA

用户名:uq_62396503440

访问量:1280

签 名:

等  级
排  名 6057
经  验 1405
参赛次数 0
文章发表 8
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:


解题思路: 定义结构体数组,利用for循环多次通过自定义函数填好结构体相应值
注意事项:1. 选择合适的结构体变量,比如题目示例中的学号是char型而不是int型,所以使用char数组放置学号;

2.在本题中我选择了地址传递的方式进行对参数值的传递,其基本形式为:调用:input(&x);定义:void input(int *x);在地址传递方法中&与*配套使用;

3.数组名代表地址,不需要加取地址符&

参考代码:

#include<stdio.h>
struct student
{
    char id[10];
    char name[20];
    int score[3];
};
void input(struct student *s)
{
    scanf("%s %s %d %d %d",s->id,s->name,&(s->score[0]),&(s->score[1]),&(s->score[2]));
}
void print(struct student *s)
{
    printf("%s,%s,%d,%d,%d\n",s->id,s->name,s->score[0],s->score[1],s->score[2]);
}
void main()
{
    int i,n;
    scanf("%d",&n);
    struct student stu[n];
    for(i = 0; i < n; i++)
        input(&stu[i]);
    for(i = 0; i < n; i++)
        print(&stu[i]);
}

 

 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区