当前位置:首页 » 编程语言 » c语言降序排列

c语言降序排列

发布时间: 2022-06-05 12:02:51

c语言数组七个数升序排列和降序排列怎么编程

#include<stdio.h>void Lsort(int a[],int n);//函数声明
void Hsort(int a[],int n);void main()
{
int a[7]; //7个数的数组。定义的是整数,如需实数,改为float型。
int i;
printf("\nplease input seven integers\n");
for(i=0;i<7;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
printf("\nthe integers you input are:\n");
for(i=0;i<7;i++)
{
printf("a[%d]=%d\n",i,a[i]);
}
printf("\n");
Lsort(a,7); //函数调用
Hsort(a,7);
}//===========================升序======================================
void Lsort(int a[],int n)
{
int i,j,k; //用于循环控制。
int m; //作为中间变量,也称暂存单元。
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(a[k]>a[j])
{
k=j;
}
if(k!=i)
{
m=a[i];
a[i]=a[k];
a[k]=m;
}
}
printf("\n数组升序排序后为:\n");
for(i=0;i<n;i++)
{
printf("a[%d]=%d\n",i,a[i]);
}
printf("\n");
}//===========================降序==========================
void Hsort(int a[],int n)
{
int i,j,k; //用于循环控制。
int m; //作为中间变量,也称暂存单元。
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
if(a[k]<a[j])
{
k=j;
}
if(k!=i)
{
m=a[i];
a[i]=a[k];
a[k]=m;
}
}
printf("\n数组降序排序后为:\n");
for(i=0;i<n;i++)
{
printf("a[%d]=%d\n",i,a[i]);
}
printf("\n");
}

② C语言将数组a中的10个整数降序排列并输出,如何编程

#include<stdio.h>
intmain()
{
inta[10]={1,3,5,7,9,8,4,6,0,2};
inti,j,k;
for(i=0;i<9;i++)
{
for(j=i;j<10;j++)
{
if(a[i]<a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
for(i=0;i<10;i++)printf("%d",a[i]);
}

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

#include "stdafx.h"
#include "stdio.h"

int main(int argc, char* argv[])
{
int a[10];
int i,j,d;
printf("请输入十个整数,用空格隔开:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(i=0;i<9;i++)
{
for(j=i+1;j<10;j++)
{
if(a[i]<a[j])
{
d=a[i];
a[i]=a[j];
a[j]=d;
}
}
}
for(i=0;i<10;i++)
{
printf("%d ",a[i]);
}
return 0;
}
用选择法。

④ c语言三种排序

常用的c语言排序算法主要有三种即冒泡法排序、选择法排序、插入法排序

一、冒泡排序冒泡排序:

是从第一个数开始,依次往后比较,在满足判断条件下进行交换。代码实现(以降序排序为例)

#include<stdio.h>

int main()

{

int array[10] = { 6,9,7,8,5,3,4,0,1,2 };

int temp;

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

{//循环次数

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

{

if (array[j] < array[j+1])

{//前面一个数比后面的数大时发生交换 temp = array[j];

array[j] = array[j+1];

array[j + 1] = temp;

}

}

} //打印数组 for (int i = 0; i < 10; i++) printf("%2d", array[i]); return 0;}}

二、选择排序以升序排序为例:

就是在指定下标的数组元素往后(指定下标的元素往往是从第一个元素开始,然后依次往后),找出除指定下标元素外的值与指定元素进行对比,满足条件就进行交换。与冒泡排序的区别可以理解为冒泡排序是相邻的两个值对比,而选择排序是遍历数组,找出数组元素与指定的数组元素进行对比。(以升序为例)

#include<stdio.h>

int main()

{

int array[10] = { 6,9,7,8,5,3,4,0,1,2 };

int temp, index;

for (int i = 0; i < 9; i++) {

index = i;

for (int j = i; j < 10; j++)

{

if (array[j] < array[index])

index = j;

}

if(i != index)

{

temp = array[i];

array[i] = array[index];

array[index] = temp;

}

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

printf("%2d"array[i])

return 0;

}

三、快速排序

是通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

void QuickSort(int* arr, int size)

{

int temp, i, j;

for(i = 1; i <size; i++)

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

{

if(arr[j] <arr[j-1])

{

temp = arr[j];

arr[j]=arr[j-1];

arr[j-1]=temp;

}

}

}

⑤ 用c语言对n个整数进行降序排列,并输出排序结果

天呐,这个方法太多了,冒泡,选择,插入,快速,希尔,归并,堆都可以

⑥ 如何用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;
}

热点内容
行李箱的密码锁哪里修 发布:2025-02-08 23:58:14 浏览:531
c语言字母ascii码表 发布:2025-02-08 23:55:49 浏览:838
笔记本电脑一般存储空间 发布:2025-02-08 23:51:15 浏览:835
php网站优化 发布:2025-02-08 23:49:41 浏览:455
php网页打印 发布:2025-02-08 23:40:02 浏览:820
windowssmb无法访问 发布:2025-02-08 23:33:28 浏览:467
python27编译器 发布:2025-02-08 23:29:20 浏览:339
如何运行python代码 发布:2025-02-08 23:28:15 浏览:692
新箱子密码锁怎么设置 发布:2025-02-08 23:26:50 浏览:148
安卓如何可以看见被撤回的消息 发布:2025-02-08 23:19:17 浏览:798