C语言程序 设计。 用if 语句 编写 五个数排序(从小到大) 的程序

任意 输入5个数 可以从小到大排序!

第1个回答  2010-10-18
#include "stdio.h"
#define N 5
main()
{
int i,t,a[N];
printf("请输入五位数:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=1;i<N;i++)
{
if(a[0]>a[1])t=a[0],a[0]=a[1],a[1]=t;
if(a[1]>a[2])t=a[1],a[1]=a[2],a[2]=t;
if(a[2]>a[3])t=a[2],a[2]=a[3],a[3]=t;
if(a[3]>a[4])t=a[3],a[3]=a[4],a[4]=t;
}
for(i=0;i<N;i++)
printf("%d\t",a[i]);
printf("\n");
}

可以收藏!三种基本排序

方法一:冒泡排序法:

#include "stdio.h"
#define N 5
main()
{
int i,j,t;
int a[N];
printf("请输入五位数:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N;i++)
for(j=i+1;j<N;j++)
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
for(i=0;i<N;i++)
printf("%d\t",a[i]);
printf("\n");
}

方法二:选择排序:

#include "stdio.h"
#define N 5
main()
{
int i,j,k,t;
int a[N];
printf("请输入五位数:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N-1;i++)
{
k=i;
for(j=i+1;j<N;j++)
if(a[k]>a[j]) k=j;
if(i!=k)
{
t=a[k];
a[k]=a[i];
a[i]=t;
}
}
for(i=0;i<N;i++)
printf("%d\t",a[i]);
printf("\n");
}

方法三:插入排序法:

#include "stdio.h"
#define N 5
main()
{
int i,j,k;
int a[N];
printf("请输入五位数:\n");
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N;i++)
{
k=a[i];
j=i-1;
while(j>=0&&k<a[j])
{
a[j+1]=a[j];
j--;
}
a[j+1]=k;
}
for(i=0;i<N;i++)
printf("%d\t",a[i]);
printf("\n");
}本回答被提问者采纳
第2个回答  2010-10-18
#include<stdio.h>
int main()
{
int a[5];
int i,j,k;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
for(i=0;i<4;i++)
{
for(j=i+1;j<5;j++)
{
if(a[i]>a[j])
{
k=a[i];
a[i]=a[j];
a[j]=k;
}
}
}
for(i=0;i<5;i++)
printf("%d ",a[i]);
return 0;
}

C语言程序 设计。 用if 语句 编写 五个数排序(从小到大) 的程序
main(){ int i,t,a[N];printf("请输入五位数:\\n");for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=1;i<N;i++){ if(a[0]>a[1])t=a[0],a[0]=a[1],a[1]=t;if(a[1]>a[2])t=a[1],a[1]=a[2],a[2]=t;if(a[2]>a[3])t=a[2],a[2]=a[3],a[...

用C语言编程:输入5个数,按从小到大顺序输出!?
if(a[i]>a[i+1]) \/\/相邻两个数比较 { t=a[i];a[i]=a[i+1];a[i+1]=t;} printf("排序后的数据为:");for(i=0;i<5;i++)printf("%d ",a[i]);printf("\\n");}程序结果为:原理是:

用c语言程序设计:输入5个整数,利用冒泡排序法,从小到大排序后输出。
include<stdio.h>void main(){int a[5];printf("请输入5个整数:");for(int val=0;val<=4;val++)scanf("%d",&a[val]);for(int i=0;i<=4;i++){for(int j=i+1;j<=4;j++){if(a[i]>a[j]){int tmp;tmp = a[i];a[i] = a[j];a[j] = tmp;}}}printf("排序后...

c语言 任意输入5个数从小到大排列 程序怎么写?
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("经...

怎么用c语言程序比较五个数的大小,还要从大到小排序,求大神指点!_百度...
void main(void){ int a[5],i,j,k;printf("Type 5 integers...\\n");for(i=0;i<5;scanf("%d",a+i++));for(i=0;i<5;i++){ for(k=i,j=k+1;j<5;j++)if(a[k]<a[j]) k=j;if(k!=i){ j=a[k];a[k]=a[i];a[i]=j;} } for(i=0;i<5;printf("%d "...

C语言:输入5个数,用调用函数的方法,从小到大排序 用简单点的
if(1 == flag){printf("%d ",i); \/\/首先打印出,在第几层循环时顺序已排好break; \/\/跳出循环}}return;}调用时,n的值为5就可以了,你可以将输入的数据存储到长度为5的数组里面,然后调用这个排序方法,希望可以帮到你,望采纳 人间一枚惆怅客 | 发布于2013-01-05 举报| 评论 1 0 自定义一个交换...

用c语言编写程序,把5当空格,从小到大排序
if(a[len-1] != 5){ \/\/如果输入的数的最后一位不是5,也把最后一个5之后看做一个整数。for(j = frag1, sum = 0; j <= len-1; ++j){ sum+= a[j];if(j != len-1)sum *= 10;} num[k] = sum;++k;} \/\/按从大到小排列取得的整数 for(i = 1; i < k; ++i)...

如何用C语言做一个程序。 比较5个数大小。并排序。 求一个程序代码...
num[i + 1]) { int n = num[i]; num[i] = num[i + 1]; num[i + 1] = n; con = true; } \/\/如果相邻两个数前一个都大于等于后一个con就会等于false退出循环 } \/\/输出 for (int i = 0; i < 5; i++) { printf("%d", num[i]); } ...

C语言题目:键盘随机输入5个数,请从大到小排列输出,并输出其中所有的素数...
printf("please input %d numbers\\n",N); \/\/输出文本,"请输入N个数字(此处N=5)"for(i=0;i<N;i++) \/\/循环语句,利用i循环将N个数存入数组a[i]scanf("%d",&a[i]);for(i=0;i<N-1;i++)for(j=0;j<N-1-i;j++){ if(a[j]<a[j+1]) \/\/如果前一个数a[j]大于...

C语言的一个程序写法(输入5位数,排大小输出)
void main(){ long n , s[5],i,m=10000;printf("请输入一个五位数:");scanf("%ld",n);if(n>9999&&n<100000){ for(i=0;i<5;i++){s[i]=n%m;m=m\/10;} for(i=4;i>=0;i--)printf("%d\\n",s[i]);for(i=0;i<5;i++)printf("%d\\n",s[i]);} else printf("你...

相似回答