C语言数组、函数的一个例子

Task2

2011.7.18 1.本程序有8项功能:

1. 根据学号查询学生成绩

2. 根据课程号统计成绩

3. 根据课程号和学号查询成绩

4. 成绩录入

5. 根据学号查询该学生所有课程中的最高分

6. 根据学号查询该学生所有课程中的最低分

7. 根据课程号找出这门课程中的最高分及相应的学号

8. 根据课程号找出这门课程中的最低分及相应的学号

0. 退出

用数组来实现

输出时显示:

学号课程.......

0 54 ........

#include"stdio.h"

int a[1001][3];

int z;

void searchsnum(int snum)/*根据学号查询学生成绩*/

{

int i=0;

printf("学生的成绩为:\n学号课程号成绩\n");

do

{

if(a[i][0]==snum)

{

printf(" %d %d %d\n\n",a[i][0],a[i][1],a[i][2]);

}

i++;

}while(i

}

void search(int snum,int cnum) /*根据课程号和学号查询成绩*/

{

int i=0;

printf("学生的成绩为:\n学号课程号成绩\n");

do

{

if(a[i][0]==snum&&a[i][1]==cnum)

{

printf(" %d %d %d\n\n",a[i][0],a[i][1],a[i][2]);

}

i++;

}while(i

}

void statistics(int cnum)/*根据课程号统计成绩*/

{

int i;

printf("学生的成绩为:\n学号课程号成绩\n");

for(i = 0;i <= z;i++)

{

if(a[i][1]==cnum)

{

printf(" %d %d %d\n\n",a[i][0],a[i][1],a[i][2]);

}

}

}

void max(int snum)/*根据学号查询该学生所有课程中的最高分*/ {

int i,j;

int b=0;

printf("学生所有课程中最高分为:\n课程号成绩\n");

for(i = 0;i <= z;i++)

{

if(a[i][0]==snum&&a[i][2]>b)

{

b=a[i][2];

j=i;

}

}

printf(" %d %d\n\n",a[j][1],b);

}

void min(int snum)/*根据学号查询该学生所有课程中的最低分*/ {

int i,j;

int b=1000;

printf("学生所有课程中最低分为:\n课程号成绩\n");

for(i = 0;i <= z;i++)

{

if(a[i][0]==snum&&a[i][2]

{

b=a[i][2];

j=i;

}

}

printf(" %d %d\n\n",a[j][1],b);

}

void maxnum(int cnum)/*根据课程号找出这门课程中的最高分及相应的学号*/ {

int i,j;

int b=0;

printf("学生%d号课程中最高分为:\n学号成绩\n",cnum);

for(i = 0;i <= z;i++)

{

if(a[i][1]==cnum&&a[i][2]>b)

{

b=a[i][2];

j=i;

}

}

printf(" %d %d\n\n",a[j][0],b);

}

void minnum(int cnum)/*根据课程号找出这门课程中的最低分及相应的学号*/ {

int i,j;

int b=1000;

printf("学生%d号课程中最低分为:\n学号成绩\n",cnum);

for(i = 0;i <= z;i++)

{

if(a[i][1]==cnum&&a[i][2]

{

b=a[i][2];

j=i;

}

}

printf(" %d %d\n\n",a[j][0],b);

}

void main()

{

int i,c,snum,cnum;

lab1: printf("请选择操作:\n************************************************\n");

printf("1.输入成绩\n");

printf("2.根据学号查询学生成绩\n");

printf("3.根据课程号和学号查询成绩\n");

printf("4.根据课程号统计成绩\n");

printf("5.根据学号查询该学生所有课程中的最高分\n");

printf("6.根据学号查询该学生所有课程中的最低分\n");

printf("7.根据课程号找出这门课程中的最高分及相应的学号\n"); printf("8.根据课程号找出这门课程中的最低分及相应的学号\n"); printf("0.退出\n");

printf("************************************************\n");

scanf("%d",&c);

switch(c)

{

case 1:

printf("请输入所要录入成绩的个数:\n");

scanf("%d",&z);

printf("请依次输入学号\n");

for(i = 0;i <= z-1;i++)

{

scanf("%d",&a[i][0]);

}

printf("请依次输入课程号\n");

for(i = 0;i <= z-1;i++)

{

scanf("%d",&a[i][1]);

}

printf("请依次输入成绩\n");

for(i = 0;i <= z-1;i++)

{

scanf("%d",&a[i][2]);

}

printf("您输入的数据为:\n学号课程号成绩\n");

for(i = 0;i <= z-1;i++)

{

printf(" %d %d %d\n",a[i][0],a[i][1],a[i][2]);

}

break;

case 2: printf("请输入所要查询的学号:\n");

scanf("%d",&snum);

searchsnum(snum);

break;

case 3:

printf("请输入所要查询的学号和课程号,以逗号分隔:\n");

scanf("%d,%d",&snum,&cnum);

search(snum,cnum);

break;

case 4: printf("请输入所要查询的课程号:\n");

scanf("%d",&cnum);

statistics(cnum);

break;

case 5: printf("请输入所要查询的学号:\n");

scanf("%d",&snum);

max(snum);

break;

case 6: printf("请输入所要查询的学号:\n");

scanf("%d",&snum);

min(snum);

break;

case 7: printf("请输入所要查询的课程号:\n");

scanf("%d",&cnum);

maxnum(cnum);

break;

case 8: printf("请输入所要查询的课程号:\n");

scanf("%d",&cnum);

minnum(cnum);

break;

case 0: exit(1);

break;

default:

printf("error!\n");

}

goto lab1;

}

相关文档
最新文档