大家帮帮忙看下这个简单的学生成绩程序的代码哪里出错了。。

时间:2022-09-05 21:09:17
大家帮帮忙看下这个简单的学生成绩程序的代码哪里出错了。。

#include "stdafx.h"

#include "stdio.h"
int max(int a[],int n)
{
    int max=a[0];
    int i;
    for(i=0;i<n;i++)
    {
        if(a[i]>max)
            max=a[i];
    }
    return max;
}

int min(int a[],int n)
{
    int min=a[0];
    int i;
    for(i=0;i<n;i++)
    {
        if(a[i]<min)
            min=a[i];
    }
    return min;
}

float ave(int a[],int n)
{
    float k;
    int i;
    float ave;
    for(i=0;i<n;i++)
    {    
        k+=a[i];
    }
    ave=k/n;
    return ave;
}

void fail(int a[],int n)
{
    int i;
    for(i=0;i<n;i++)
    {
        if(a[i]<60)
            printf("%d",a[i]);
    }
}


void fd(int a[],int n)
{
    int i;
    int s1=0,s2=0,s3=0,s4=0;
    for(i=0;i<n;i++)
    {
        if(a[i]<60)
            s1++;
        if(a[i]>=60&&a[i]<75)
            s2++;
        if(a[i]>=75&&a[i]<90)
            s3++;
        if(a[i]>=90)
            s4++;
    }
    printf("60分以下人数: %d\n 60-75分人数: %d\n 75-90分人数: %d\n  90分以上人数: %d\n",s1,s2,s3,s4);
}

void sort(int a[],int n)
{
    int i;
    int j;
    int t;
    for(i=1;i<n;i++)
    {
        for(j=0;j<n-1;j++)
        {
            if(a[j]<a[j+1])
                t=a[j];
                a[j]=a[j+1];
                a[j+1]=t;
        }
    }
    printf("%d,%d",&a,&n);
    return;
}





int main(int argc, char* argv[])
{
    int a[100];
    int j=0;
    while(1)
    {
        scanf("%d",&a[j]);
        if(a[j]==-1)break;
        j++;
    }
    printf("%d,%d",&a,&j);
    printf("请选择操作功能:\n1-计算最高分\n2-计算最低分\n3-计算平均分\n4-输出不及格分数\n5-分数排序输出\n");
    printf("6-输出各分数段人数\n");
    printf("输入-1终止程序\n");
    while(1)
    {
    scanf("%d",&j);
    switch(j)
    {
    case 1: printf("最高分为:%d\n",max(a,j));break;
    case 2: printf("最低分为:%d\n",min(a,j)); break;
    case 3: printf("平均分为:%.2f\n",ave(a,j)); break;
    case 4: printf("不及格分数:\n"); fail(a,j); break;
    case 5: printf("分数排序输出\n"); sort(a,j); break;
    case 6: printf("各分段人数\n"); fd(a,j); break;
    
    default: printf("超出选择范围\n");
    }
    if(j==-1) break;
    }
       return 0;
}