输入成绩并按顺序打印出

首先可以想到数组,通过另一个数组来进行统计相同成绩的人数来打印

代码如下

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int i=0,j=0,k=0;
    int a[10];
    int b[151];//数学成绩为0~150分所以数组定义为151 
    for(i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<151;i++)
    {
        b[i]=0;//先将数组里的数定义为0 
    }
    for(i=0;i<10;i++)
    {
        b[a[i]]++;//统计出相同成绩的人数 
    }
    for(i=0;i<151;i++)//循环b数组 
    {
        if(b[i]!=0)
        {
            for(k=0;k<b[i];k++)//重新将a数组排序 
            {
                a[j]=i;
                j++;
            }
        }
    }
    printf("排序结果:");
    for(i=0;i<10;i++)
    {
        printf("%4d",a[i]); 
    }
    return 0; 
}

猜你喜欢

转载自blog.csdn.net/weixin_61966129/article/details/120868330