c++相关的,需要应用动态数组解决问题

img

希望使用动态数组解决问题,自己写了一个但是总是不能实现功能,希望帮忙修改一下

img

img

可以贴出来看看

#include <stdio.h>
typedef struct _student 
{
    char name[20];
    float score;
}student;

int main()
{
      student *pStu = NULL;
      int n,max1=0,max2=0;
      printf("请输入学生人数:");
      scanf("%d",&n);
      pStu = (student *)malloc(sizeof(student)*n);
      for(int i=0;i<n;i++)
      {
          printf("请输入第%d个学生的姓名和成绩:",i+1);
          scanf("%s%f",pStu[i].name,&pStu[i].score);
          if(i==0)
              continue;
          if(pStu[i].score > pStu[max1].score)
          {
              max2 = max1;
              max1 = i;
          }
          else if(pStu[i].score > pStu[max2].score)
              max2 = i;   
      }
      printf("最高分学生姓名为:%s,成绩为:%.1f\n",pStu[max1].name,pStu[max1].score);
      printf("次高分学生姓名为:%s,成绩为:%.1f\n",pStu[max2].name,pStu[max2].score);
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632