编写一个程序,将一组数据{6,5,8,1,0,4,7,3,2,9}按从小到大的顺序排列,程序显示排序前和排序后的

结果
#include <stdio.h>
#define N 10
void main( )
{ int a[N]= {6,5,8,1,0,4,7,3,2,9}
int i,j,t;
printf(“The array before sorted:”);
for(i=0;i<N;i++)
printf(“%4d”,a[i]);

printf(“The array after sorted:”);
for (i=0;i<N;i++)
printf(“%4d”,a[i]);
}

#include <stdio.h>
#define N 10
void main( )
{
int a[N]= {6,5,8,1,0,4,7,3,2,9} //掉了分号
int i,j,t;
printf(“The array before sorted:”);
for(i=0;i<N;i++)
printf(“%4d”,a[i]);printf(“The array after sorted:”);
for(i=N;i>0;i--)
{
for(j=0;j<N;j++)
if(a[j]<a[j-1]) t=a[j-1];a[j-1]=a[j],a[j]=a[j-1];
}
for (i=0;i<N;i++)
printf(“%4d”,a[i]);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-09-05
int []score={6,5,8,1,0,4,7,3,2,9};
for(int i=0;i<score.length;i++){
int a=0;
for(int j=1;j<score.length-i;j++){
if(score[a]>score[j]){
a=j;
}

}
int tmp=score[score.length-1-i];
score[score.length-1-i]=score[a];
score[a]=tmp;

}
for (int k=0;k<score.length;k++){
System.out.println(score[k]);
}
第2个回答  2012-06-07
可以用冒泡排序法实现数组的升序排列。
for(i=0;i<N-1;i++)
{
for(j=0;j<N-1-i;j++)
{
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}本回答被网友采纳
第3个回答  2012-06-07
#include <stdio.h>
#define N 10
int main( )
{
int a[N]= {6,5,8,1,0,4,7,3,2,9};
int i,j,t,key,tmp;
printf("The array before sorted:");
for(i=0; i<N; i++)
printf("%4d",a[i]);
for(i=0; i<N; i++)
{
key=a[i];
for(j=i+1; j<N; j++)
if(key>a[j])
{
tmp=key;
key=a[j];
a[j]=tmp;
}
a[i]=key;
}
printf("The array after sorted:");
for (i=0; i<N; i++)
printf("%4d",a[i]);
return 1;
}
第4个回答  2019-01-12
#include <stdio.h>
#define N 10
void main( )
{
int a[N]= {6,5,8,1,0,4,7,3,2,9}
int i,j,t;
printf(“The array before sorted:”);
for(i=0;i<N;i++)
printf(“%4d”,a[i]);
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{ if(a[i]>a[j])
{ t=a[i];a[i]=a[j];a[j]=t;
}}}
printf(“The array after sorted:”);
for(i=0;i<N;i++)
printf(“%4d”,a[i]);
}
相似回答