用C语言编程:输入5个数,按从小到大顺序输出!?

本人是刚学的菜鸟。麻烦各位大虾,解释明白点。。。谢谢了。。。

#include<stdio.h>
void main()
{
int a[5];
int i,j,t;
printf("请输入5个数:");
for(i=0;i<5;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<4;j++) //进行4次循环,实现4趟比较
for(i=0;i<4-j;i++) //在每一趟比较中进行4-1次比较
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");
}程序结果为:原理是:
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-25
有不懂的可以问我:#include <stdio.h>int main ()
{
int a[5];
int i,j,temp;
printf("input 5 number:\n");
for(i=0;i<5;i++) scanf("%d",&a[i]);//获取输入的5个整数,分别放在数组成员a[0]到a[4]中
for(i=5;i>0;i--)//冒泡排序
for(j=0;j<i-1;j++)
{
if(a[j]>a[j+1])
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}
printf("output:\n");
for(i=0;i<5;i++) printf("%d\n",a[i]);//从小到大顺序输出
return 0;
}本回答被网友采纳
第2个回答  2013-09-25
我用冒泡排序写一个吧#include<stdio.h>void main(){ int a[5];//定义数组放五个数据 for(int i=0;i<5;i++) { scanf("%d",&a[i]); } for(i=0;i<4;i++) { for(int j=i;j<5;j++) { int temp; if(a[i]>a[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; } } } for(i=0;i<5;i++) { printf("%d\n",a[i]); }} 你自己在纸上画一下这个过程,会有深刻理解的。
第3个回答  2013-09-25
#include
void sort(int Array[5]);
int main()
{
int i,j,temp;
int array[5];
for(i = 0;i<5;i++)//输入
{
scanf("%d",&array[i]);
}

for(i = 0 ;i<5;i++)// 排序主体
{
for(j = 5;j>i;j--)
{
if(array[i]>array[j])
{
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}

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

return 0 ;
}
第4个回答  2013-09-25
我觉得,不用那昌泡法也可以做出来的
相似回答