各位能不能帮我改善一下,感觉我的有点奇怪

 

 

但是如果要改成函数,要修改一下,下面是一个实现,可以参考一下:


#include <stdio.h>

int main(){
    void swap(int *i,int *j);
    int findMax(int s[][5]);
    
    int s[3][5],*z,*x;
    int index = findMax(s); 
    printf("index=%d",index);
    
    printf("最高分数是%d\n",(&s[0][0])[index]);
    printf("所对应的学生是%d个\n",(index/5)+1);
    printf("所对应的课程是第%d科",index%5+1);
    
    return 0;
}

void swap(int *i,int *j){
    int temp;
    temp = *j;
    *j=*i;
    *i=temp;
}

int findMax(int s[][5]){

        int a,b;

        
        for(a=0;a<3;a++){
            for(b=0;b<5;b++){
                scanf("%d",&s[a][b]);
            }
        }
        
        int max=s[0][0];
        
        int index=0;
        for(a=0;a<3;a++){
            for(b=0;b<5;b++){                
                if(max<s[a][b]){
                    max=s[a][b];
                    index=a*5+b;
                }
            }
        }
        

        return index;
    }

测试了一下好像没有问题