关于#c语言#的问题:用一个程序实现10个同学C语言成绩的要求用模块化程序设计的思想,把每个功能都编写成一个独立的函数,即编写4个子函数分别实现:输入,输出最大值

用一个程序实现10个同学C语言成绩的要求用模块化程序设计的思想,把每个功能都编写成一个独立的函数,即编写4个子函数分别实现:输入,输出,排序(降序),输出最大值!

可以把四个函数的参数设置为int型指针和一个数组的长度,然后在函数中利用循环依次操作存储学生的数组即可实现相应功能,代码如下:


#include <stdio.h>

// 输入 
void inputScore(int scores [],int n){
    
    int i;
    for(i=0;i<n;i++){
        printf("请输入第%d个学生的C语言成绩:",i+1);
        scanf("%d",&scores[i]);
    }
} 

// 输出 
void outputScore(int scores[],int n){
    int i;
//    printf("输入的%d个学生的C语言成绩如下:\n",n);
    for(i=0;i<n;i++){
        
        printf("%d ",scores[i]);
    }
    printf("\n");
}


// 降序排序 
void sortScore(int scores[],int n){
    
    int i,j;
    int temp;
    for(i=0;i<n;i++){
        
        for(j=i;j<n;j++){
            
            if(scores[i]<scores[j]){
                temp=scores[i];
                scores[i]=scores[j];    
                scores[j]=temp;
            }
        }
    }    
    
}

//寻找最大值 
int findMaxScore(int  scores[],int n){
    
    if(n<1){
        return -1;
    }
    int max=scores[0];
    int i;
    for(i=0;i<n;i++){
        if(max<scores[i]){
            max=scores[i];
        }
    }
    
    return max;
} 

int main(void){
    
    int scores[10];
    inputScore(scores,10);
    outputScore(scores,10);
    sortScore(scores,10);
    
    printf("排序后的成绩为:\n");
    outputScore(scores,10);
    int max=findMaxScore(scores,10);
    if(max!=-1){
        printf("C语言成绩的最高分是%d.\n",max);
    }
    
} 

img