利用冒泡排序的方法对十个学生的成绩进行排序

利用冒泡排序的方法对从键盘输入的 10 个学生的成绩进行排序,并计算平均分和不及格人数

望采纳

#include <stdio.h>

int main(void)
{
    int array[]={54,66,80,72,80,65,89,24, 56, 57};
    int n=sizeof(array)/sizeof(array[0]);
    int count = 0;
    float avg ;
    int i = 0;
    int j = 0;
    int temp;
    for ( i = 0; i < n-1; i++)
    {
        for ( j = 0; j < n-1-i; j++)
        {
            if(array[j]>array[j+1])
            {
                temp=array[j];
                array[j]=array[j+1];
                array[j+1]=temp;
            }
        }
        
    }


    for ( i = 0; i < n; i++)
    {
       printf("%d\n",array[i]);
       if (array[i] <= 60)
            count ++;
       avg = avg + array[i];
    }
    printf("不及格%d人,平均分为%f",count,avg /10);
    return 0;

}


img

static void Main(string[] args)
{
string s = Console.ReadLine();//多个数字之间用半角逗号隔开
string[] sarr = s.Split(new char[] { ',' });//分割字符串,获得字符串数组
int[] arr = new int[sarr.Length];//定义新的整型数组,放原始排列顺序
int[] newarr = new int[sarr.Length];//定义新的整型数组,用于冒泡排序
for (int sa = 0; sa < sarr.Length; sa++) //给新定义的2个数组赋值
{
arr[sa] = Convert.ToInt32(sarr[sa]);
newarr[sa] = Convert.ToInt32(sarr[sa]);
}
int k = 0;//中间变量,用于冒泡排序
for (int i = 0; i < newarr.Length; i++)//冒泡排序
{
for (int j = i + 1; j < newarr.Length; j++)
{
if (newarr[i] < newarr[j])
{
k = newarr[i];
newarr[i] = newarr[j];
newarr[j] = k;
}
}
}
Console.Write("原始排列:");
foreach (int a in arr)
{
Console.Write(a + ",");
}
Console.WriteLine("");
Console.Write("新的排列:");
foreach (int na in newarr)
{
Console.Write(na + ",");
}
Console.WriteLine("");
Console.ReadKey();
}