第1个回答 推荐于2018-02-23
//如果只有成绩信息就可以用下面的代码//如果还需要加入学号,姓名之类的信息,可以用结构体然后对成绩排序即可#include"stdio.h"int main(){int d[10]={0},i,j,t;//数组d存放10个学生的成绩 for(i=0;i<10;i++)//输入10个成绩(空格分开)scanf("%d",&d[i]);
for(i=0;i<9;i++)//排序
for(j=i+1;j<10;j++)
if(d[i]<d[j])
{t=d[i],d[i]=d[j],d[j]=t;} for(i=0;i<10;i++)//输出10个成绩printf("%d ",d[i]); getch();return 0;}本回答被网友采纳
第2个回答 推荐于2018-07-13
#include<stdio.h>
void main()
{
int nScore[10]={0};
int i,j,nTemp;
for(i=0;i<10;i++)
{
scanf("%d",&nScore[i]);
}
/*冒泡法排序*/
for(i=0;i<10;i++)
{
for(j=0;j<10-i-1;j++)
{
if(nScore[j]<nScore[j+1]) /*两两比较,小的放后放,一次循环后最小数在最后*/
{
nTemp=nScore[j];
nScore[j]=nScore[j+1];
nScore[j+1]=nTemp;
}
}
}
printf("由大到小排列为:\n")
for(i=0;i<10;i++)
{
printf("%d ",nScore[i]);
}
printf("\n");
}本回答被网友采纳
第3个回答 推荐于2016-08-12
#include<stdio.h>
main()
{
int a[10],b[10], max=0,s;
for(int i=0;i<10;i++)
scanf("%d",&a[i]);
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
if(max<=a[j])
{
max=a[j];
s=j;
}
}
b[i]=max;
max=0;
a[s]=0;
}
for(int i=0;i<10;i++)
printf("%d ",b[i]);
printf("\n");
}//选择排序
第4个回答 2020-04-14
#include<stdio.h>
void
main()
{
int
nScore[10]={0};
int
i,j,nTemp;
for(i=0;i<10;i++)
{
scanf("%d",&nScore[i]);
}
/*冒泡法排序*/
for(i=0;i<10;i++)
{
for(j=0;j<10-i-1;j++)
{
if(nScore[j]<nScore[j+1])
/*两两比较,小的放后放,一次循环后最小数在最后*/
{
nTemp=nScore[j];
nScore[j]=nScore[j+1];
nScore[j+1]=nTemp;
}
}
}
printf("由大到小排列为:\n")
for(i=0;i<10;i++)
{
printf("%d
",nScore[i]);
}
printf("\n");
}