c语言5个数排序
Ⅰ 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;
}