当前位置:首页 » 编程语言 » 快速排序实现降序c语言代码
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

快速排序实现降序c语言代码

发布时间: 2023-07-14 07:37:10

1. 如何用c语言将一组数进行降序排列

假设有n个数。
#include<stdio.h>
void min(int *a,int *b)
{
int data;
if(*a<*b)
{
data=*a;
*a=*b;
*b=data;
}
}
int main()
{
int t[10];//假设n=10,可以设置为其他数
int i,j,n=10;
for(i=0;i<n;i++)
scanf("%d",&t[i]);
for(i=0;i<n-1;i++)
{
for(j=i;j<n-1;j++)
{
min(&t[j],&t[j+1]);
}
}
for(i=0;i<n;i++)
printf("%3d",t[i]);
printf("\n");
return 0;
}

2. c语言对从键盘输入的十个整数进行降序排序,排序后输出第二大的数,编写fun函数

排序有挺多方法的,例如:冒泡排序法、选择排序法

以下使用选择排序

#include<stdio.h>

voidfun(inta[],intn)
{
inti,j,k,tmp;
for(i=0;i<n-1;i++)
{
k=i;
for(j=i+1;j<n;++j)
if(a[j]>a[k])k=j;
if(k!=i)
{
tmp=a[k];a[k]=a[i];a[i]=tmp;
}
}
}

intmain()
{
inta[10];
inti;
for(i=0;i<10;i++)scanf("%d",&a[i]);
fun(a,10);
for(i=0;i<10;i++)printf("%d ",a[i]);
printf("第二大的数是:%d",a[1]);
return0;
}

3. 用C语言编写,输入10个数按降序排列

源程序代码如下:

#define _CRT_SECURE_NO_WARNINGS//VS环境下需要,VC不需要

#include<stdio.h>//头文件;

int main()

{

int i = 0;

int j = 0;

double temp = 0;

double a[10] = { 0 };//定义三个变量和一个长度为10的数组;

printf("请输入十个数: ");//显示“请输入十个数”

for (i = 0; i < 10; i++)

{

scanf("%lf", &a[i]);//从键盘上输入十个数送到数组;

}

for (i = 1; i < 10; i++)//for循环,进行9次循环;

{

for (j = i - 1; j >= 0; j--)//for循环,在每次大的循环中,a[i]从a[1]依次与它前面的数比较;

{

if (a[j + 1] > a[j])

{

temp = a[j + 1];

a[j + 1] = a[j];

a[j] = temp;//如果a[j + 1]>a[j],则把这两个数组元素互换,目的把最大的数放到前边;

}

else

{

break;

}

}

}

for (i = 0; i < 10; i++)

{

printf("% lf ", a[i]);//输出排好顺序的十个数;

}

return 0;//返回值为0;

}

程序运行结果如下:


(3)快速排序实现降序c语言代码扩展阅读:

其他实现方法如下:

#include<stdio.h>

int mysort(int *a, int n)

{

int i, j, temp;

for (i = 0; i < n - 1; i++)

{

for (j = 0; j < n - 1 - i; j++)

{

if (a[j] > a[j + 1])

{

temp = a[j + 1];

a[j + 1] = a[j];

a[j] = temp;

}

}

}

return 0;

}

int main()

{

int a[10];

int i, j;

printf("input 10 numbers: ");

for (i = 0; i < 10; i++)

{

printf("the number%d is:", i + 1);

scanf("%d", a + i);

fflush(stdin);

}

mysort(a, 10);

for (i = 9; i >= 0; i--)

printf("%3d", a[i]);

printf(" ");

return 0;

}

4. c语言 用一个函数实现用冒泡法对十个整数升序和降序排列 麻烦写全些

#include<stdio.h>
voidsort1(inta[],intn)
{inti,j,t;
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;}
}
voidsort2(inta[],intn)
{inti,j,t;
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;}
}
intmain()
{inti,a[10];
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf(" ");
sort1(a,10);
for(i=0;i<10;i++)
printf("%d",a[i]);
printf(" ");
sort2(a,10);
for(i=0;i<10;i++)
printf("%d",a[i]);
printf(" ");
return0;
}

5. C语言编程,输入n个整数,对其进行降序排序,n由键盘输入

#include<stdio.h>
#include<stdlib.h>
voidmain()
{
int*a,i,j,n;
scanf("%d",&n);
a=(int*)malloc(sizeof(int));
for(i=0;i<n;i++)
{
intt;
scanf("%d",&t);
for(j=i-1;j>=0;j++)
派携if(t<a[j])break;
else尘余伏a[j+1]=a[j];
a[j+1]=t;
}
毁斗for(i=0;i<n;i++)
printf("%d",a[i]);
}

6. C语言如何 对10个数进行降序排序。 这边要课程设计了。希望大家帮帮忙

冒泡排序算法实现10个数的降序排列,参考代码如下:

#include"stdio.h"
#defineN10
intmain()
{
inti,j;
intt,a[N];
for(i=0;i<N;++i)
scanf("%d",&a[i]);
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;
}
for(i=0;i<N;++i)
printf("%d",a[i]);
return0;
}

7. 输入n个整数,对其进行降序排序(n由键盘输入) 用C语言写

#include<stdio.h>

int行烂main(){
intn=0,k,i,j,t,a[20]={0};
printf("输入整数(Ctrl+枣郑Z退出):");
while(scanf("%d",&a[n])==1&&n<20){
n++;
printf("输入整数(Ctrl+Z退出):");
}
for(i=0;i<n-1;++i){
k=i;
for(j=i+1;j<档岩漏n;++j){
if(a[k]<a[j])k=j;
}
if(k!=i){
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
for(i=0;i<n;++i)printf("%d",a[i]);
printf(" ");
return0;
}