期末考试之排名次
期末考试结束了,童鞋们的成绩也出来了,可是为了排名次可忙坏了他,因为学生太多了。这时,他把这个任务交给了你,希望你能帮他完成。作为IT人,你当然不能用笨笨的人工方法了,编程解决才是好办法。
从键盘输入学生人数n(0
第一行一个整数n,代表学生的人数。
接下来一行输入n个正整数,表示每个学生的成绩。
输出
在一行上按照从大到小顺序输出学生成绩,每个成绩(包括最后一个数据)后面有一个空格。
难度
一般
输入示例
5
85 74 93 82 71
输出示例
93 85 82 74 71
#include <stdio.h>
int main()
{
int a[100],n,i,j,t;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
if(a[j] < a[j+1])
{
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
}
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
#include <stdio.h>
#include <stdlib.h>
void bubble_sort(unsigned int a[], int n)
{
int i ,j, temp;
for(i = 0; i < n - 1; i++)
{
for(j = 0; j <n - 1 - i; j++)
{
if(a[j] < a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
}
int main()
{
int N = 0;
int * score = NULL;
scanf("%d", &N);
score = (int *)malloc(sizeof(int)*N);
for (int i = 0; i < N; i++)
{
scanf("%d", &score[i]);
}
bubble_sort(score, N);
for (int i = 0; i < N; i++)
{
printf("%d ", score[i]);
}
printf("\n");
return 0;
}
#include<stdio.h>
int main()
{
int a[100];
int n;
int i,j,temp;
int c,m,e;
scanf("%d",&n);
for(i = 0; i < n; i++)
{
scanf("%d%d%d",&c,&m,&e);
a[i] = c + m + e;
}
for(i = 0; i < n - 1; i++)
{
for(j = i + 1; j < n; j++)
{
if(a[i] < a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
for(i = 0; i < n; i++)
{
printf("%d\n",a[i]);
}
return 0;
}