C语言 五个数排序

作者&投稿:斐真 (若有异议请与网页底部的电邮联系)
c语言 任意输入5个数从小到大排列 程序怎么写?~

#include
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("经过排序后,这些数是:
");
for( i = 0 ; i < 5 ;i ++)
printf("%d ",a[i]);
printf("
");
return 0;
}

#include
#include
using namespace std;
int a[7];
int main()
{
for(int i=1;i<=5;i++)
scanf("%d",&a[i]);
for(int i=1;i<=4;++i)
for(int j=i+1;j<=5;++j)
if(a[i]>a[j])
{
int t=a[i];a[i]=a[j];a[j]=t;
}
for(int i=1;i<=5;++i)
printf("%d",a[i]);
return 0;
}

#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;

}



简单排序吧,参考例程如下:

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


冒泡法

~~~~~~~


灵宝市19796312491: 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("请...

灵宝市19796312491: c语言中如何实现5个已知数的排序 -
辉泪感冒: #include <stdio.h> #include <fstream.h> #include <map> #include "time.h" void main() {int i,j,k,temp,a[5];printf("请输入数组:\n");for( i=0;i<5;i++){scanf("%d",&a[i]);}for( i=0;i<5;i++){k=i;for(j=i;j<5;j++)if(a[k]>a[j]){temp=a[j];...

灵宝市19796312491: 选择法对5个数从小到大排序,c语言编程怎么写 -
辉泪感冒: #include<cstdio> #include<iostream> using namespace std; int a[7]; int main() {for(int i=1;i<=5;i++)scanf("%d",&a[i]);for(int i=1;i<=4;++i)for(int j=i+1;j<=5;++j)if(a[i]>a[j]){int t=a[i];a[i]=a[j];a[j]=t;}for(int i=1;i<=5;++i)printf("%d",a[i]);return 0; }

灵宝市19796312491: c语言中输入五个整数分别按顺序和逆顺序输出 -
辉泪感冒: #include<stdio.h> int a[5],i; int main() {for(i = 0;i<5;i++)scanf("%d",&a[i]);printf("顺序输出:");for(i = 0;i<5;i++) printf("%d ",a[i]);printf("\n");printf("逆顺序输出:");for(i = 4;i>=0;i--) printf("%d ",a[i]);printf("\n"); }

灵宝市19796312491: 用c语言怎么对五个数排序 -
辉泪感冒: #includevoid 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(...

灵宝市19796312491: c语言输入5个正整型数,然后输出为顺序排列.如50 40 30 20 10 输出后按顺 -
辉泪感冒: #incude<stdio.h> #define N 5 void main() { int a[N],i,j,k; for ( i=0;i<N;i++ ) scanf("%d",&a[i]); for ( i=0;i<N-1;i++ ) for ( j=i;j<N;j++ ) if ( a[i]>a[j] ) { k-a[i];a[i]=a[j];a[j]=k; } for ( i=0;i<N;i++ ) printf("%d ",a[i]); printf("\n"); }

灵宝市19796312491: C语言,在界面文本中任意输入5个数字,请将数字从大到小排序输出,每个数字之间可用分号隔开 -
辉泪感冒: int Arr[5],n,i,j;//5位数要五个整数来分开存 scanf("%5d",n); for(i=0;ifor(i=0;i//for(n=0,i=0;i

灵宝市19796312491: 用C语言对输入的5个整数按从大到小的顺序排序并输出 怎么做啊??? -
辉泪感冒: #include<stdio.h> #include<stdlib.h> int cmp(const void *a ,const void *b) { return *(int*)b-*(int*)a; } int main() { int a[5],i; for(i=0; i<5; i++) scanf("%d",&a[i]); qsort(a,5,sizeof(a[0]),cmp); printf("%d",a[0]); for(i=1; i<5; i++) printf(" %d",a[i]); return 0; } 我用了C语言库函数qsort,可以进行快速排序,效率比冒泡快,学习一下吧.

灵宝市19796312491: 用C语言 .输入5个数到数组中,然后将它们进行排序,从小到大将最小的放在数组的第一位,然后将其余小的依次放入其它位子. (冒泡排序) -
辉泪感冒: #include"stdio.h" main() {int i; int a[5]; for(int k=0;k

灵宝市19796312491: 给5个数排序编写程序,要求:输入5个整数,如5 6 3 2 9,要由小到大输出,并且输出它原来是数组中的几个数则应输出: 2,4 3,3 5,1 6,2 9,5 -
辉泪感冒:[答案] C语言程序: main() { int a[5][2],i,j,t; for(i=0;i

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网