当前位置:首页 » 编程语言 » c语言5个数排序

c语言5个数排序

发布时间: 2022-07-28 08:39:38

c语言 任意输入5个数从小到大排列 程序怎么写

#include <stdio.h>
int main(int argc, char *argv[])
{
int a[5]; /*保存5个数的数组*/
int i = 0 , j = 0; /*计数器*/
int m = 0 ; /*用于标识最小的那个数*/
int n; /*用于两个数的交换,中间值*/

/*从键盘接收5个数*/
for( i = 0 ; i < 5 ; i ++)
{
printf("请输入第%d个数", i + 1);
scanf("%d",&a[i]);
}

/*排序算法:选择排序*/
for( i = 0 ; i < 5 ; i ++)
{
m = i ;
for( j = i +1 ; j < 5 ; j ++)
if( a[j] < a[m] )
m = j ;
n = a[i];
a[i] = a[m];
a[m] = n;
}

/*输出*/
printf("经过排序后,这些数是:\n");
for( i = 0 ; i < 5 ;i ++)
printf("%d ",a[i]);
printf("\n");
return 0;
}

Ⅱ c语言任意输入5个数,并按从大到小顺序输出

可以采用以下的代码进行计算:

#include<stdio.h>

#include<stdlib.h>

intmain()

{

inta[5];

inti,j,k;

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

{

scanf("%d",&a[i]);

}

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

{

for(j=0;j<=4;j++)

{

if(a[i]>a[j])

{

k=a[i];a[i]=a[j];a[j]=k;

}

}

}

printf("排序结果是: ");

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

{

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

}

return0;

}

(2)c语言5个数排序扩展阅读:

数据类型关键字

short:修饰int,短整型数据,可省略被修饰的int。(K&R时期引入)

long:修饰int,长整型数据,可省略被修饰的int。(K&R时期引入)

long long:修饰int,超长整型数据,可省略被修饰的int。(C99标准新增)

signed:修饰整型数据,有符号数据类型。(C89标准新增)

unsigned:修饰整型数据,无符号数据类型。(K&R时期引入)

restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式。(C99标准新增)

复杂类型关键字

struct:结构体声明。(K&R时期引入)

union:联合体声明。(K&R时期引入)

enum:枚举声明。(C89标准新增)

typedef:声明类型别名。(K&R时期引入)

sizeof:得到特定类型或特定类型变量的大小。(K&R时期引入)

inline:内联函数用于取代宏定义,会在任何调用它的地方展开。(C99标准新增)

Ⅲ 用c语言怎么对五个数排序

#include<stdio.h>
void sort(int a[])
{int i,j,t;
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(a[i]>a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
}
int main()
{int i,j,a[6][5];
for(i=0;i<6;i++)
{ for(j=0;j<5;j++)
scanf("%d",&a[i][j]);
sort(a[i]);
}
for(i=0;i<6;i++)
{printf("Case %d:",i);
for(j=0;j<5;j++)
printf(" %d",a[i][j]);
printf("\n");
}
return 0;
}

Ⅳ 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]);

}

算法稳定性

冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,是不会再交换的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排序是一种稳定排序算法。

以上内容参考:网络-冒泡排序

Ⅳ 从键盘输入5个整数,按照其值从大到小排序 C语言做,小白式

C语言实现5个整数的降序排序,参考代码如下:

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

Ⅵ c语言输入任意5个实数,按照由大到小排序输出

用C语言实现如下功能:从键盘输入5个实数,可以使用冒泡排序法把他们降序输出。

#include “stdio.h”

main()
{
int a[8];

int j,i;

for(i=0;i<5;i++)
{
printf(“请输入第%d个数:\n”,i+1);

scanf(“%d”,&a[i]);

}

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

for(i=0;i<5–j;i++)
{
if(a[i]>a[i+1])
a[i+1]=a[i];

}

for(i=0;i<5;i++)
printf("\n排序后的结果是:%d\n",a[i]);
return 0;
}

Ⅶ c语言编程:随机输入五个整数,利用选择排序法对输入的数进行从小到大排序

你的程序逻辑有些问题,输入,排序,输出分开做,这样更明确,更清晰,代码如下:

#include<stdio.h>
#include<stdlib.h>

intmain()
{
inta[5];
inti,j,t;
intmin;

//输入
printf("input5numbers: ");
for(i=0;i<5;i++)
scanf("%d",&a[i]);

//选择排序
for(i=0;i<5;i++){
for(j=i+1;j<5;j++){
if(a[j]<a[i]){
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}

//输出
printf("thesorrtednumbers: ");
for(i=0;i<5;i++){
printf("%d",a[i]);
}

printf(" ");

system("pause");
return0;
}

运行结果:

Ⅷ C语言:输入5个数,用调用函数的方法,从小到大排序 用简单点的

#include<stdio.h>

voidsort(float*a,intn)

{

inti,j,tmp;

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

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

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

{

tmp=a[j];

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

a[j+1]=tmp;

}

}

voidmain()

{

floata[5];

inti;

printf("请输入五个数(逗号隔开):");

scanf("%f,%f,%f,%f,%f",&a[0],&a[1],&a[2],&a[3],&a[4]);

sort(a,5);

printf("排序后为:");

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

printf("%.2f",a[i]);

printf(" ");

}

或者三个数的。

void sort(int *a, int *b, int *c)

{

int tmp;

if(*a>*b){

tmp = *b;

*b = *a;

*a = tmp;

}

if(*a>*c){

tmp = *c;

*c = *a;

*a = tmp;

}

if(*b>*c){

tmp = *c;

*c = *b;

*b = tmp;

}

return;

}

(8)c语言5个数排序扩展阅读:

C语言中没有预置的sort函数。如果在C语言中,遇到有调用sort函数,就是自定义的一个函数,功能一般用于排序。

一、可以编写自己的sort函数。
如下函数为将整型数组从小到大排序。void sort(int *a, int l)//a为数组地址,l为数组长度。

{

int i, j;

int v; //排序主体

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

for(j = i+1; j < l; j ++)

{

if(a[i] > a[j])//如前面的比后面的大,则交换。

{

v = a[i];

a[i] = a[j];

a[j] = v;

}

}

}

对于这样的自定义sort函数,可以按照定义的规范来调用。

二、C语言有自有的qsort函数。
功 能: 使用快速排序例程进行排序。头文件:stdlib.h
原型:

void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));

参数:

1、待排序数组首地址。

2、数组中待排序元素数量。

3、各元素的占用空间大小4 指向函数的指针,用于确定排序的顺序,这个函数必须要自己写比较函数,即使要排序的元素是int,float一类的C语言基础类型。

Ⅸ C语言中5个数从小到大排序

#include<stdio.h>
intmain()
{
inta[5],i,j,t;
printf("请输入5个数 ");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<4;i++)
for(j=0;j<4-i;j++)
if(a[j]>a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
for(i=0;i<5;i++)
printf("%d",a[i]);
printf(" ");
return0;
}

Ⅹ C语言 五个数排序

#include<stdio.h>

void sort(int a[])

{int i,j,t;

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

for(j=i+1;j<5;j++)

if(a[i]>a[j])

{t=a[i];a[i]=a[j];a[j]=t;}

}

int main()

{int i,j,a[6][5];

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

{ for(j=0;j<5;j++)

scanf("%d",&a[i][j]);

sort(a[i]);

}

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

{printf("Case %d:",i);

for(j=0;j<5;j++)

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

printf(" ");

}

return 0;

}

热点内容
javascript设计模式源码 发布:2025-01-24 14:49:07 浏览:908
linqtosql查询 发布:2025-01-24 14:48:57 浏览:120
华为手机更换开机密码如何操作 发布:2025-01-24 14:43:15 浏览:699
快手等待上传 发布:2025-01-24 14:41:37 浏览:380
apache和php7 发布:2025-01-24 14:32:26 浏览:892
linuxio文件 发布:2025-01-24 13:40:21 浏览:438
在excel设密码如何取消 发布:2025-01-24 13:38:54 浏览:483
电脑装存储时不能开机 发布:2025-01-24 13:38:52 浏览:285
2000人同时在线的小程序需要什么服务器 发布:2025-01-24 13:37:17 浏览:853
怎么搭建linux服务器配置 发布:2025-01-24 13:37:16 浏览:113