项目实践:学生成绩管理

6.36学生成绩管理。



一、问题描述:


有一个班10个学生,5门功课。用二维数组做参数编函数分别实现:

(1)录入每个学生的学号和考试成绩;
(2)求第一门课的平均分;
(3)找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩和平均成绩;
(4)找出平均成绩在90以上或全部成绩在85分以上的学生;

(5)按成绩高低排出名次表;


二、代码实现:

 
#include
int num[10]={0};
int score[10][5]={0};
int sum[10]={0};
int ave[10]={0};
int d[11]={0,1,2,3,4,5,6,7,8,9,10};
//录入每个学生的学号和考试成绩
void input()
{
	int i,j;
    for(i = 0; i<10;i ++)
    {
		printf("input the %d student num\n",i+1);
      scanf("%d",&num[i]);
        printf("input the %d student  score\n", i+1);
        for(j = 0; j < 5; j ++)
		{

            scanf("%d", &score[i][j]);
		}
    }
}
//求第一门课的平均分
void jisuandiyiaverage()
{
    int i,s=0;
	for(i=0;i<10;i++)
	{
		s=s+score[i][0];
	}
	printf("The first class's average is %d\n",s/10);
}
//找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩和平均成绩
void bujigexinxi()
{
	int n=0,s=0;
	int i,j;
	 for(i = 0; i<10;i ++)
    {
        for(j = 0; j < 5; j ++)
		{
			if(score[i][j]<60)
			{
				n++;
			}

		}
       if(n>2)
	   {
           printf("The student didn't pass class above two is: %d\n",num[i]);
           printf("The student's all class score are:\n");
          for(j=0;j<5;j++)
		   {
               printf("%d ",score[i][j]);
		   }
		  printf("\n");
		  for(j=0;j<5;j++)
		  {
			  s=s+score[i][j];
		  }

		  printf("The student's average is:%d\n",s/5);
         s=0;

	   }
	   n=0;
	 }
}
//求平均分函数,并且求出总分
void c_average()
{
   int	i,j,s=0;
    for(i = 0; i<10;i ++)
    {
        for(j = 0; j < 5; j ++)
		{

            s=s+score[i][j];
		}
		sum[i]=s;
		ave[i]=s/5;
		s=0;
    }
	for(i=0;i<10;i++)
	{
	     if(ave[i]>90)
		 {
		printf("The student average score more than 90 is: %d\n",num[i]);

		 }
    	else
		{
		   if(score[i][1]>85&&score[i][2]>85&&score[i][3]>85&&score[i][4]>85&&score[i][5]>85)
		   {
			printf("The student every class more than 85:%d\n",num[i]);
		   }
		}
	}
}
//按总成绩排名
void  s_ranking()
{
	int i,j;
	int t;
	int k;
	int h;
	int c;

    for(i=0;i<10;i++)
	{
		for(j=0;j<9-i;j++)
		{
			if(sum[j]

你可能感兴趣的:(C/C++项目实践)