不予。95 2021-06-23 11:13 采纳率: 100%
浏览 45
已采纳

求一个c++结构体数组相关程序

定义一个结构体数组,输入结构体数组元素,并编写函数对结构体数组中插入记录

  • 写回答

2条回答 默认 最新

  • CSDN专家-link 2021-06-23 11:52
    关注

    要插入记录的话,需要将插入位置及其后续的记录全部后移一个位置,然后在插入位置放置新记录内容即可

    struct student
    {
        char name[20];
        float score;
    }stu[50];
    int stunum = 0;
    void main()
    {
        printf("请输入学生数量:");
        scanf("%d",&stunum);
        int i;
        for(i=0;i<stunum;i++)
            scanf("%s %f",stu.name,&stu[i].score);
        printf("请输入要插入的学生姓名,成绩和插入位置:");
        student newstu;
        int pos;
        scanf("%s %d %d",newstu.name,&newstu.score,&pos);
        if(pos >= stunum || pos < 0)  //加入pos的位置不在学生数量范围,则加入末尾
            stu[stunum++] = newstu;
        else
        {
            for(i=stunum;i>=pos;i--)
                stu[i] = stu[i-1];
            stu[pos] = newstu;
            stunum++;
        }
        for(i=0;i<stunum;i++)
            printf("姓名:%s\t成绩:%f\n",stu[i].name,stu[i].score);
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器