输入4个整数,要求按由小到大的顺序输出,用C语言怎么编程呀?求高人指点呀!

最好把每一步什么意思说出来,谢谢呀!

#include<stdio.h>

#define MAX 4 //定义输入数的个数

void main ()
{
int a[MAX], i, j, tmp;

printf ("input %d numbers:\n", MAX);
for (i = 0; i < MAX; i++) {
scanf ("%d", a+i);
for (j = 0; j < i; j++) //从第一个数开始与这个输入的数比较
if (a[i] < a[j]) { //如果输入的数比前面的数小就和那个数换位置
tmp = a[j];
a[j] = a[i];
a[i] = tmp;
}
}
printf ("\nThe numbers are: \n");
for (i = 0; i < MAX; i++)
printf ("\n%d \t", a[i]);
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2007-06-01
冒泡排序 ...
第2个回答  2007-06-01
#include <stdio.h>
void main()
{
int a[4];
int i, j, temp;

printf("input four integer:\n");
scanf("%d%d%d%d", &a[0], &a[1], &a[2], &a[3]);

for(i = 0; i < 3; i++) /*排序*/
for(j = i + 1; j < 4; j++)
{
if(a[i] > a[j])
{
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
for(i = 0; i < 4; i++) /*输出*/
{
printf("%d\t", a[i]);
}
}
第3个回答  2007-06-02
pascal的快排
procedure qsort(l,r:longint);
var i,j,x,y:longint;
begin
i:=l;
j:=r;
x:=a[(l+r) div 2];
repeat
while a[i]<=x do inc(i);
while a[j]>=x do dec(j);
if i<j then begin
y:=a[i]; a[i]:=a[j]; a[j]:=y;
end;
until i>j;
if i>l then qsort(l,i);
if j<r then qsort(j,r);
end;

冒泡属于时间复杂度相当大的吧?不过只有四个数,还好。

输入4个整数,要求按由小到大的顺序输出,用C语言怎么编程呀?求高人指点...
define MAX 4 \/\/定义输入数的个数 void main (){ int a[MAX], i, j, tmp;printf ("input %d numbers:\\n", MAX);for (i = 0; i < MAX; i++) { scanf ("%d", a+i);for (j = 0; j < i; j++) \/\/从第一个数开始与这个输入的数比较 if (a[i] < a[j]) ...

输入4个整数,要求按由小到大顺序输出.
printf("输入4个整数,要求按由小到大的书序输出。请输入4个整数,中间用空格隔开\\n");scanf("%d%d%d",&a,&b,&c,&d);\/*从键盘获取4个整数,复制给a,b,c,d*\/ if(a>b){ t=a;a=b;b=t;}\/*例如输入4321这个4个整数,这句处理完输出abcd的结果是:3421。以后依次类推*\/ if(a>c)...

C语言写出 ,输入4个整数,要求按由大到小的顺序输出?
1)数组指针:指向要排序的数组 2)数组的元素个数 3)数组的元素字节长度 4)函数指针:指向我们定义的一个比较两个元素大小的函数 若是要 qsort( ) 做由小到大的排序,我们定义的函数的返回值和相应的条件必须是:返回值条件 === < 0*a<*b 0*a == *b > 0*a>*b 要达到以上的要求其...

编写一个程序,输入4个整数,要求按由小到大顺序输出。
List<int> list = new List<int> { 5,10,1,7};int temp=0;for (int i = 0; i <list.Count; i++){ for (int j = 0; j < i; j++)\/\/如果要从大到小排序,可以改成“>”{ if (list[j + 1] < list[j]){ temp= list[j] ;list[j] = list[j + 1];list[j +...

C语言编程题:输入4个整数,要求按由小到大顺序输出怎么编啊?_百度知 ...
利用函数的模块化设计。1、完成整体函数格局,输入、排序、输出。2、输入函数代码如下:3、排序函数代码如下:4、输出函数代码如下:5、执行结果:

C语言编程题:输入4个整数,要求按由小到大顺序输出怎么编啊?(要用sw...
for(i=0;i<4;i++) \/*输入要比较的四个数字*\/ scanf ("%d,",&a[i]);for(j=0;j<4;j++)\/*采用冒泡排序法排序*\/ { for (i=0;i<4-j;i++)if (a[i]>a[i+1]){ temp=a[i];a[i]=a[i+1];a[i+1]=temp;} } \/*输出排序结果*\/ printf("the number list from min...

...输入4个整数,要求按由小到大的顺序输出 怎么做啊?? 用循环做的...
第二轮则去掉最后一个数,对前n-1个数再按照上面的步骤找出最大数,该数将称为倒数第二的数组元素...n-1轮过后,就完成了排序。\/\/若要以降序顺序排列,则只需将 if(array[j]>array[j+1])语句中的大于号改为小于号即可。\/\/程序如下:#include<stdio.h>#define N 15void BubbleSort(int ...

输入4个整数,要求由小到大的顺序输出
将四个数存到数组中,然后排序即可。排序后,再利用循环输出。代码:include <stdio.h> int main(){ int a[4],i,j;for(i = 0; i < 4; i ++)scanf("%d",&a[i]);for(i = 0; i < 3; i ++)for(j = i+1; j < 4; j ++){ int t;if(a[i]>a[j]){ t = a[i];...

输入4个整数,按由小到大的顺序输出
main(){ int Num[4];int i,j,temp;\/* 输入四个整数,存到Num数组中,略 *\/ \/* 以下为起泡阀 *\/ for(i=0; i<3;i++){ for(j=1;j<4;j++){ if(Num[i]>Num[j]){ temp= Num[j];Num[j]=Num[i];Num[i]=temp;} } } ...

c语言编程 输入4个整数,要求由小到大输出
道理都是一样的,再多就可以用循环了,不过4个数用循环不太爽~~,看下面的冒泡排序非循环4个数的实现呵呵:include <stdio.h> int main(char* x ,char** y){ int temp,a,b,c,d;printf("please input num list:");scanf("%d,%d,%d,%d",&a,&b,&c,&d);if(a>b) {temp=a; a=b...

相似回答
大家正在搜