一维数组的运用,怎么写啊

输入10个成绩,将其各分段人数赋值到一个一维数组中,将各分数赋值到另一个一维数组中将两个数组输出

一个简单的实现,如下:


#include <stdio.h>

int main(void){
    
    double grade[10];
    
    printf("请输入10个成绩,以空格分隔:\n");
    int i =0;
    //获取10个成绩输入 
    while(i<10){
        scanf("%lf",&grade[i]);
        i++;
    }
    
    int j;
    double temp;
    //分数按从低到高排序 ,用于后面判断各区间分数人数 
    for(i=0;i<10;i++){
        
        for(j=i;j<10;j++){
            if(grade[i]>grade[j]){
                temp = grade[i];
                grade[i] = grade[j];
                grade[j] = temp;                
            }
        }
        
    }
    

     
    int  part[3]={0,0,0};
    //按区间统计人数 
    for(i=0;i<10;i++){
        if(grade[i]<60){
            part[0]++;
        }else if(grade[i]>=60&&grade[i]<80){
            part[1]++;
        }else if(grade[i]>=80&&grade[i]<=100){
            part[2]++;
        }        
    }
    
     
    //按区间打印人数和分数 
    for(i=0;i<3;i++){
        
        
         if(i==0){
             printf("分数低于60分,不及格的有%d人,分数分别是:",part[i]);
             for(j=0;j<part[0];j++){
                 printf("%.1lf ",grade[j]);
             }
         }else if(i==1){
             printf("分数60到80分,成绩良好的有%d人,分数分别是:",part[i]);
             for(j=part[0];j<part[0]+part[1];j++){
                 printf("%.1lf ",grade[j]);
             }
         }else{
             printf("分数80到100分,成绩优秀的有%d人,分数分别是:",part[i]);
             for(j=part[0]+part[1];j<10;j++){
                 printf("%.1lf ",grade[j]);
             }
         }
    } 
    
    return 0;
    
}