学生管理系统

1、建立三个文件 ,mymain.c  list.c    list .h
2 、mymain.c只有一个主函数,调用list.c文件内的功能函数。
3、主函数定义一维数组,存储学生成绩,二维数组存储学生姓名。
4、功能1:一维数组和二维数组作为参数传递给子函数1,并在子函数1中赋值
5、功能2:子函数2求出最高成绩学生对应的姓名
6、功能3:子函数3求出学生平均成绩
7、功能4:子函数4对学生成绩排序。
8、功能5:子函数5对给定关键字key的学生成绩进行查找,查找成功输出该学生姓名。

主函数定义一维数组,存储学生成绩,二维数组存储学生姓名。

功能1:一维数组和二维数组作为参数传递给子函数1,并在子函数中赋值

功能2:子函数2求出最高成绩学生对应的姓名

功能3:求出学生平均成绩

功能4:子函数4对学生成绩排序。

功能5:子函数5对给定关键字key的学生成绩进行查找,查找成功输出该学生姓名。

.h文件中进行代码声明

代码

#include"list.h"
void cc(int score[],char name[][20])
{
    int i;
    for(i=0;i<MAX;i++)
    {
        printf("请输入学生姓名\n");
        scanf("%s",name[i]);
        printf("请输入该学生成绩\n");
        scanf("%d",&score[i]);
    }
}
void max_score(int score[],char name[][20])
{
    int i,zuida=score[0],sub=0;

    for(i=0;i<MAX;i++)
    {
        if(zuida<score[i])
        {
               zuida=score[i];
            sub=i;
        }
    }
    printf("最高成绩是%d,姓名是%s\n",score[sub],name[sub]);

}
void pj_score(int score[],char name[][20])
{   int sum=0,pj,i;
    for(i=0;i<MAX;i++)
    {
        sum=sum+score[i];

    }
    pj=sum/MAX;
    printf("平均分是%d\n",pj);
}
void px(int score[],char name[][20])
{
    int i,j;
    for(i=0;i<MAX;i++)
    {
        for(j=0;j<MAX-i-1;j++)
        {
            if(score[j]>score[j+1])
            {
                int t=score[j];
                score[j]=score[j+1];
                score[j+1]=t;
            }
        }
    }
    for(i=0;i<MAX;i++)
    {
        printf("姓名:%s\t,成绩:%d\n",name[i],score[i]);

    }
}
void find(int score[],char name[][20])
{   int i,key;
    printf("请输入要查找的成绩\n");
    scanf("%d",&key);
    for(i=0;i<MAX;i++)
    {
        if(key==score[i])
        {
            printf("查找成功,该同学的姓名是%s\n",name[i]);
        }
    }
}
#include "list.h"
int main(int argc, const char *argv[])
{

    int score[MAX];
    char name[MAX][20];
    cc(score,name);
    max_score(score,name);
    pj_score(score,name);
    px(score,name);
    find(score,name);
    return 0;

#ifndef _LIST_H_
#define _LIST_H_
#include<myhead.h>
#define MAX 3
void cc(int score[],char name[][20]);
void max_score(int score[],char[][20]);
void pj_score(int score[],char name[][20]);
void px(int score[],char name[][20]);
void find(int score[],char name[][20]);
#endif
 

最终效果图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值