c语言题:输入四个数a,b,c,d,按从大到小的顺序输出

来源:百度知道 编辑:UC知道 时间:2024/05/12 04:55:40
我曾用互换的方法作,但感到麻烦,哪位有高见

这类问题一般用起泡法解决.
#include<stdio.h>
#define n 4
main()
{
int i,j,k,a[n],*p,temp;
p=a;
printf("\nInput %d numbers:\n",n);
for( i=0;i<n;i++,p++)
scanf("%d",p);
p=a;
printf("The original number is:\n");
for( i=0;i<n;i++,p++)
printf("%d\t",*p);
p=a;
for( i=0;i<n-1;i++)
{
k=i;
for( j=i+1;j<n;j++)
if( *(p+i)<*(p+j))
{
temp=*(p+i);*(p+i)=*(p+j);*(p+j)=temp;
}
}
p=a;
printf("\nThe sorted numbers is:\n");
for( i=0;i<n;i++,p++)
printf("%d\t",*p);
return 0;
}
这是一种通用的解法,通过设置n的值,可以把任意多个数值按从大到小的顺序排列.

用排序
简单的用冒泡就行,其实就是互换。。。

把四个数放到数组里,然后冒泡,相当简单

用冒泡吧