1.从大到小排序
得注意i和j 的关系
我觉得 ,类似于矩阵,利用for的双重循环,里面利用了sizeof的使用方法
#include <stdio.h>
int main()
{
int a[]={12,8,13,99,20,45};
int i;
int j;
int temp;
int leng=sizeof(a)/sizeof(a[0]);
for(i=0;i<leng-1;i++)
{
for(j=0;j<leng-1-i;j++){
if(a[j]<a[j+1])//从大到小排序,注意这里对比的是j的01234
{
temp=a[j+1];//交换
a[j+1]=a[j];
a[j]=temp;
}
}
}
for(i=0;i<leng;i++)
{
printf("%d ",a[i]);
}
return 0;
}
2.从小到大
从小到大只需要改变一下判断if的符号
#include <stdio.h>
int main()
{
int a[]={12,8,13,99,20,45};
int i;
int j;
int temp;
int leng=sizeof(a)/sizeof(a[0]);
for(i=0;i<leng-1;i++)
{
for(j=0;j<leng-1-i;j++){
if(a[j]>a[j+1])//从大到小排序,注意这里对比的是j的01234
{
temp=a[j+1];//交换
a[j+1]=a[j];
a[j]=temp;
}
}
}
for(i=0;i<leng;i++)
{
printf("%d ",a[i]);
}
return 0;
}