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
最终效果图: