C语言冒泡法排序:任意输入十个数排序(从小到大;从大到小)

完整程序哈~TXS~

从大到小:
#include<stdio.h>
#define N 10
void main()
{
int i,j;
float a[N],t;
printf("排序前:\n");
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<N;i++)
{
printf("%6.1f",a[i]);
}
printf("\n");
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;
}
}
printf("排序后:\n");
for(i=0;i<N;i++)
printf("%6.1f",a[i]);
printf("\n");
}
从小到大:if(a[j]<a[j+1])改成if(a[j]>a[j+1])

#include<stdio.h>
#define N 10
void main()
{
int i,j;
float a[N],t;
printf("排序前:\n");
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<N;i++)
{
printf("%6.1f",a[i]);
}
printf("\n");
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;
}
}
printf("排序后:\n");
for(i=0;i<N;i++)
printf("%6.1f",a[i]);
printf("\n");
}
希望对你有帮助。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-05
从小到大

#include<stdio.h>
void main()
{
int a[10];
int i,j,t;
printf("please enter 10 number:\n");
for(j=0;j<10;j++)
scanf("%d",&a[j]);
printf("\n");
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(a[j]>a[j+1])//把>改成<就是从小到大
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(j=0;j<10;j++)
printf("%d",a[j]);
printf("\n");
}本回答被提问者采纳