我要排序!!
#include<stdio.h>int main(void)
{
int a[5],n,min,t;
for(n=0;n<5;n++)
{
scanf("%d",&a[n]);
}
min=a[0];
for(n=0;n<5;n++)
{
if(min>a[n])
{
min=a[n];
}
}
printf("%d,",min);
system("pause");
return 0;
}
这段代码是输出最小数;
在这个基础上把代码改为从小到大依次输出,怎么写呢?我不会。望提醒!谢谢!
----------------解决方案--------------------------------------------------------
你写个排序,然后输出不就可以了
----------------解决方案--------------------------------------------------------
不知道怎么个排法?
----------------解决方案--------------------------------------------------------
比较简单
//冒泡法
//如果a[10]={已经初始化}
for(int i=0;i<10;i++)
for(int j=i;j<10;j++)
{
if(a[j]>a[j+1])
{
static int temp;
temp=a[j];a[j]=a[j+1];a[j+1]=temp;
}
}
//排完了
----------------解决方案--------------------------------------------------------
在你的程序上修改``我想到的选择排序``
我给你写下算法``你自己写代码``
for ( i=0; i < LEN-1; ++i )
{
for( j=i , min = a[j]; j < LEN-1; ++j )
{
if ( min > a[j+1] ) min = a[j+1] ; 寻找最小数
}
min <> a[i] ; 交换
}
----------------解决方案--------------------------------------------------------
用选择法最好,通用性好
这个#include<stdio.h>
void Paixu(int *a)
{
int i,k,j,t;
for(i=0;i<10;i++)
{
k=i;
for(j=i;j<10;j++)
if(a[j]>a[k])
k=j;
if(k!=i)
{
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
}
main()
{
int a[10],i;
clrscr();
printf("请输入10个数字:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
Paixu(a);
for(i=0;i<10;i++)
printf("%4d",a[i]);
getch();
}
----------------解决方案--------------------------------------------------------