数值存储在"score_ 201"文件中。 (1)定义void sort(float *sco,int n)函数,功能: 从小到大排序。

数值存储在"score_ 201"文件中。
(1)定义void sort(float *sco,int n)函数,功能:
从小到大排序。
(2)定义void swap(float *x ,float *y)函数,功能:交换两个变量值。
(3)定义int input(float sco[)函数,功能:
从文件导入数据。返回值为文件中所存储的有效数据个数。程序完成对文件中的数据处理后,从小到大输出。

一个实现,供参考:


#include <stdio.h>
#include <string.h>

//读取文件 
int  input(float * sco){
    
    char path[25]="score_201.txt";
    FILE * fp = fopen(path,"r"); //打开文件 
    if(fp==NULL){
        printf("打开文件失败,程序退出!\n");
        return 0 ; 
    }
    
    
    int i=0;
        

    while(feof(fp)==0){     //读取文件的浮点数 
        
        
        fscanf(fp,"%f ",&sco[i]); 
        
        i++;
    }
    


    
    return i;
        
}

//从小到大排序 
void sort(float * sco,int n){
    
    int j;
    int i;
    float temp;

    for(i=0;i<n-1;i++){
        for(j=i;j<n;j++){

            if(sco[i]>sco[j]){
                temp=sco[i];
                sco[i]=sco[j];
                sco[j]=temp;
            }
        }
    }

}

//交换两个变量的值 
void swap(float *x,float *y){
    
    float temp=*x;
    *x=*y;
    *y=temp;
}

int main(){

    float sco[100];
    
    int n =input(sco);
    
    printf("排序前:\n");
    int i;
    for(i=0;i<n;i++){
        printf("%.2f ",sco[i]);
    }
    
    sort(sco,10);
    printf("\n排序后:\n");
    for(i=0;i<n;i++){
        printf("%.2f ",sco[i]);
    }

    float * x =&sco[0];
    float * y =&sco[3];
    swap(x,y) ;
    printf("\n交换第一个数和第四个数:\n");
    for(i=0;i<n;i++){
        printf("%.2f ",sco[i]);
    }
    
    return 0;
}

score_201.txt


3.2 4.5 1.3 5.9 1.6 7.9 6.5 11.2 2.2 9.9

运行结果:

img