用C语言编程:从键盘输入10个学生的成绩,由高到低排序输出成绩

如题所述

你好,我们这里需要用到数组镶套使用for函数以及冒泡算法,具体的代码如下。

#include <iostream>

using namespace std;

int main()

{

int s [10], i, j, t;

cout << "输入10个数:";

for (i = 0; i < 10; i++)

{

cout << "请输入第" << i+1 << "名学生的成绩;" << endl;

cin >> s[i];

}

for (i = 0; i<10; i++)

{

for (j = 0; j<9 - i; j++)

if (s[j]<s[j + 1])

{

t = s[j + 1];

s[j + 1] = s[j];

s[j] = t;

}

}

cout << "成绩由高到低为;";

for (i = 0; i<10; i++)

cout << s[i]<<"\t" ;

}

以下为效果图

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-10-14

这题可以利用冒泡排序法
题目不难

#include <stdio.h>

#define SIZE 11

void bubble_sort(int a[], int n);

void bubble_sort(int a[], int n)

{    int i, j, temp;

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

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

{ if(a[i] < a[i + 1])

{                temp = a[i];

a[i] = a[i + 1];

a[i + 1] = temp;

}

}

}

int main()

{    int number[SIZE] = {0};

int i;

for(i=0;i<10;i++)

scanf("%d",&number[i]);

bubble_sort(number, SIZE);

for (i = 0; i < SIZE; i++)

{        printf("%d\n", number[i]);    }

return 0;

}

运行过程

除了冒泡排序法,还有选择排序法,快速排序法,还请题主在大学好好学习哦

本回答被网友采纳
第2个回答  推荐于2017-11-28
#include<stdio.h>
int main()
{
int a[10],i,j,t,k;
printf("请以次输入10个学生的成绩:");
for(i=0;i<10;i++)scanf("%d",&a[i]);
for(i=0;i<9;i++)
{
k=i;
for(j=i;j<10;j++)
if(a[j]>a[k])k=j;
if(i!=k)
{
t=a[i];
a[i]=a[k];
a[k]=t;
}

}
printf("由高到低排序输出成绩:\n");
for(i=0;i<10;i++)
printf("%d\n",a[i]);
return 0;
}本回答被网友采纳
第3个回答  2019-12-23
这个非常方便你直接构建一个有十个元素的数组然后昨个对数组进行冒泡取法就能够将最小的和最大的选出来并依次排序
第4个回答  2019-11-20
用c语言编程:输入10个学生的学号和3门课程的成绩(整数),统计并输出3门课程总分最高的学生的学号和总分
相似回答