永发信息网

C语言如何从大到小排序呢?

答案:6  悬赏:40  手机版
解决时间 2021-04-04 15:40
C语言如何从大到小排序呢?
最佳答案
你说的这么多变量可以通过一个数组来存储,排序算法可以用比较常规的冒泡算法:

1比较相邻的元素。如果第一个比第二个大,就交换他们两个。
2对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。
3针对所有的元素重复以上的步骤,除了最后一个。
4持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。
代码

#include
#define N 5
int main()
{
int a[N];
int i;
int j;
int temp;
printf("请输入5个数");
for(i=0;i<=N-1;i++)
{
scanf("%d",&a[i]);

}
for(j=1;j<=N-1;j++)
for(i=0;i<=N-j-1;i++)
{
if(a[i]<=a[i+1])
{
temp=a[i+1];
a[i+1]=a[i];
a[i]=temp;
}
}

for(i=0;i<=N-1;i++)
printf("%d ",a[i]);

}
变量数量可以用通过改变N来改变追问采纳你,是因为你比其他人更详细,因为你看仔细看了我的问题。
全部回答
http://blog.csdn.net/hguisu/article/details/7776068
别人的博客,借来用用。
将a,b,c,d,e,f,j........都放到一个数组当中,之后再用八大排序算法中的某一种进行排序即可,如冒泡排序,快速排序,插入排序等
#include
//
void BubbleSort(int a[], int n)
{
    register int i,j,t;
    for (j = 0;j         for (i = 0;i            if(a[i]                t=a[i];a[i]=a[i+1];a[i+1]=t;
            }
        }
    }
}
//
void print(int a[],int n){
    for(int i=0;i        printf("%d ",a[i]);
    printf(" ");
}
//
int main()
{
    int a[10]={88,78,89,77,67,90,99,75,66,56};
    print(a,10);
    BubbleSort(a,10);
    print(a,10);
    return 0;
}追问恩!?点注释也没有呀,
用数组
#include
int main(void)
{
int a,b,i;shuzu[100];
for(i=0;i<100;i++)
{
scanf("%d",shuzu[i]);
}
for(a=0;a<99;a++)
{
for(b=0;b<100;b++)
{
if(shuzu[a] shuzu[a] = shuzu[b];
}
}
for(i=0;i<100;i++)
{
printf("%d\n",shuzu[i]);
}
return 0;
}

给你提供几个比较简单的算法思路。
首先纠正一下,你要排序的对象不要存在单个变量里,要存在数组里,这样才能用循环的方式取用。
插入排序

如果你打过牌,这种排序你就一定能理解。从未排序的部分取出一个元素来,然后插入到已经排好序的部分。就这样一个一个的查入。
  2.选择排序
从未排序的部分选出最大(最小)的一个放在已排好序的部分的最后。然后重复此步骤。
 3.归并排序
排一个很长的序列可能比较麻烦,我就把他们分成两份,把他们分别排好,然后再把他们接起来,接起来就很简单了。而这两个怎么排呢,我再把他们分别分成两个……这就要用到递归了。


总结一下,前两个时间复杂度是平方,后一个是n*logn 。还有很多其他排序方法,其中冒泡排序比较费时但是很好写,如果你不是想知其所以然,直接百度冒泡套用一下就行。
如果想系统的学习算法,推荐你读算法导论,就是那本很厚的。讲的很好。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
实名认证身份证的时候不能输入x怎么办
请写一句俗语,按要求各写一句谚语。
平年第二季度比闰年第二季度少一天.________
家在高阳在北京安贞医院做颈动脉血管堵塞手术
乐驰1.0寿命多少公里
平安车险投保之后如何获取保单和发票?,
古董照相机用右手拿的那个,加了镁粉照相时喷
通过研究萤火虫的发光原理发明了冷光灯,这种
大家双擎多少个油耗
戎字填偏旁部首写新字是什么?
国网湖北公司口号,中国农资湖北沃裕化工有限
梭是什么意思
有6种白色粉末:CuSO4、NaCl、NaOH、Na2CO3、
Studio-One 怎么导出单声道文件
表达友情深厚的句子,表达友谊深的句子
推荐资讯
吉林长春的特产有哪些,吉林长春生活水平怎样
满载珍贵瓷器的古代沉船“南澳1号”被发现后
三字经全文怎样才能更快背会
中国巨幕的口号是什么,中国唐诗中有一首最后
左边一个豕右边一个希用五笔什么打
我家养了一盆八角梅花,为什么老长叶子,不开花
盗墓笔记人到底在找什么秘密
背影课文语句赏析,朱自清的背影的好句要赏析
求剑网三送一个号,怎么样的都可以,会好好善
当x________时,x+3有平方根;当x________时
初中生学习懒惰,自控力差怎么办男孩,学
同学再见的句子,同学我不想说再见的句子
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?