草皮也要变高
2022-01-02 09:15
采纳率: 50%
浏览 139

程序1某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组和指针作函数参数,编程实现如下菜单驱动的学生成绩管理系统:

程序1某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组和指针作函数参数,编程实现如下菜单驱动的学生成绩管理系统:
(1)录入每个学生的学号和考试成绩;
(2)按学号由小到大排出成绩表;
(3)计算并输出最高分及相应学生的学号。
要求程序运行后先显示如下菜单,并提示用户输入选项:
1.Append record
2.Sort in ascending order by number
3.Caculate Max. score of course and number
0.Exit
Please enter your choice:
然后,根据用户输入的选项执行相应的操作。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • fuill 2022-01-02 10:35
    最佳回答

    手打不容易,满意给个采纳吧

    img

    
    #include <stdio.h>
    //typedef
    struct student
    {
        int id;
        int score;
    
    } t[30];
    int post=0,n,max;
    void r()
    {
        int k;
        printf("输入学生个数:");
        scanf("%d",&n);
        printf("输入学号和分数:\n");
        for(k=0; k<n; k++)
        {
            scanf("%d%d",&t[k].id,&t[k].score);
        }
        z();
        return;
    }
    void sort()
    {
        int j,k;
        struct student tem;
        for(k=0; k<n-1; k++)
        {
            for(j=0; j<n-k-1; j++)
            {
                if(t[j].id>t[j+1].id)
                {
                    tem=t[j];
                    t[j]=t[j+1];
                    t[j+1]=tem;
                }
            }
        }
        for(k=0; k<n; k++)
        {
            printf("学号:%d  成绩:%d\n",t[k].id,t[k].score);
        }
        z();
        return;
    }
    
    void m()
    {
        int j,k;
        max=t[0].score;
        for(k=1; k<n; k++)
        {
            if(t[k].score>max)
            {
                max=t[k].score;
                post=k;
            }
        }
        printf("最高分数:%d   学号为:%d",max,t[k].id);
        z();
        return;
    }
    
    int z()
    {
        printf("1.Append record\n");
        printf("2.Sort in ascending order by number\n");
        printf("3.Caculate Max. score of course and number\n");
        printf("0.Exit\n");
        printf("Please enter your choice:\n");
        int c=0;
        scanf("%d",&c);
        switch (c)
        {
        case 1:
            r();
            break;
        case 2:
            sort();
            break;
        case 3:
            m();
            break;
        case 0:
            break;
        default:
            printf("error!");
            break;
        }
    
        return 0;
    }
    int main()
    {
        z();
        return 0;
    }
    
    评论
    解决 1 无用
    打赏 举报
查看更多回答(1条)