c语言从大到小排序
❶ c语言,输入一组数进行排序,由大到小
#include<stdio.h>
int main()
{int a[100],n,i,j,t;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
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;
}
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf(" ");
return 0;
}
❷ c语言编程: 将一组数按从大到小的顺序排序
#include <stdio.h>
main()
{
int x;
printf("请输入要排序数字个数:");
scanf("%d",&x);
int i,j,k,a,b,num[x];
printf("输入数据:");
for(i=0;i<x;i++)
scanf("%d",&num[i]);
for(j=0;j<x;j++)
{
for(k=j+1;k<x;k++)
if(num[k]>num[j])
{
a=num[j];
num[j]=num[k];
num[k]=a;
}
}
for(b=0;b<x;b++)
printf("%d ",num[b]);
return 0;
}
(2)c语言从大到小排序扩展阅读:
include用法:
#include命令预处理命令的一种,预处理命令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。
❸ C语言如何用选择法排序任意输入十个数(从大到小、从小到大)
#include <stdio.h>
main(void)
{
int i,j,a[10],p=0,t=0,temp;
printf("请输入原数组:\n");
for(j=0;j<10;j++)
scanf("%d",&a[j]);
temp=a[0];
for(j=0;j<9;j++)
{
t=j;
temp=a[j];
for(i=j+1;i<10;i++)
if(temp>a[i]) //这是由小到大排序 如果是大到小则改为 if(temp<a[i])
{temp=a[i];p=i;}
{temp=a[p];a[p]=a[t];a[t]=temp;}
}
printf("排序后的数组为:\n");
for(j=0;j<10;j++)
printf("%d ",a[j]);
}
❹ C语言~十个数字从小到大怎么排列~从大到小呢~
//要求任意输入10个数,然后按从小到大顺序输出
#include <stdio.h>
int main()
{
int a[10];
int i,j;
int temp;
printf("请输入10个整数:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
}
printf("排列后顺序为:");
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("
");
return 0;
}
❺ 用C语言对三个数从大到小排序
最小用min 不要用main. 这个是主函数名 不能和变量重复的.
#include<stdio.h>
intmain(void)
{
inta,b,c,max,min;
scanf("%d%d%d",&a,&b,&c);
max=a>b?a:b;
min=a<b?a:b;
if(c>max)max=c;
if(c<min)min=c;//这里用<
printf("从大到小排序:%d%d%d ",max,a+b+c-max-min,min);
return0;
}
❻ C语言,冒泡排序法从大到小
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void main()
{
int flag,temp,i,j,a[20];
srand((unsigned)time(NULL));
printf("before sorting...\n");
for(i=0;i<20;i++)
a[i]=rand()%1000;
for(i=0;i<20;i++)
printf("%4d",a[i]);
for(i=0;i<20;i++)
{
flag=0;
for(j=0;j<20-i-1;j++)
{
if(a[j]<a[j+1]) //数组越界了,帮你改了一下
{
temp=a[j],a[j]=a[j+1];a[j+1]=temp;
flag=1;}
}
if(flag==0)
break;
}
printf("after sorting...\n");
for(i=0;i<20;i++)
printf("%4d",a[i]);
}
❼ C语言四个数由大到小排列
可以将四个数先存到数组中,然后进行插入排序。
一、算法设计:
1、输入4个数;
2、使用任意方法进行排序;
3、输出结果。
二、算法优化:
如果选择插入排序,那么可以在输入过程中,同时完成排序操作,减少一次循环,提高效率。
三、参考代码:
#include<stdio.h>
intmain()
{
inti,j,a[4],n;
for(i=0;i<4;i++)//循环四次
{
scanf("%d",&n);//输入一个数,并存在n中。
for(j=i-1;j>=0;j--)//插入排序,查找要插入的位置。
{
if(a[j]>=n)break;
a[j+1]=a[j];
}
a[j+1]=n;//插入n值。
}
for(i=0;i<4;i++)
printf("%d",a[i]);//输出结果。
return0;
}
❽ C语言,5个数按从大到小排序,冒泡法
#include<stdio.h>
#define N 5
void main()
{ int a[N],i,j,t;
printf("请输入5位学生的成绩 ");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
{for(j=0;j<N-1-i;j++)
if(a[j+1]<=a[j]){
t=a[j];a[j]=a[j+1];a[j+1]=t;
}
}
printf("成绩由高到低的排序为: ");
for(i=0;i<N;i++)
printf("%d ",a[i]);
}
算法稳定性
冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,是不会再交换的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。
以上内容参考:网络-冒泡排序
❾ C语言 简单的从大到小排序问题
这是冒泡排序法。
第一个循环的控制变量应该是 i < N - 1 ,也就是 两两比较的 前一个数 最多只到 倒数第二个;
而 第二个 循环的控制变量应该是 j < N ,表示 两两比较的后一个数, 要直到最后一个数。
如有帮助,烦请点采纳,谢谢!
❿ C语言中如何从大到小排列一个数组中的元素
先找不是0的元素个数
然后对前面部分进行排序即可。
函数如下
voidmy_sort(int*a)
{
intn,i,j;
intt;
for(n=0;a[n];n++);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
自己写主函数 调用my_sort就好了。