#include "stdio.h"
void select_sort(int *x, int n)
{
int i, j, min, t;
for (i=0; i
min = i; /*假设当前下标为i的数最小,比较后再调整*/
for (j=i+1; j
if (*(x+j) < *(x+min))
{
min = j; /*如果后面的数比前面的小,则记下它的下标*/
}
}
if (min != i) /*如果min在循环中改变了,就需要交换数据*/
{
t = *(x+i);
*(x+i) = *(x+min);
*(x+min) = t;
}
}
}
void main()
{
int a[4],i;
for(i=0;i<4;i++)
{
scanf("%d",&a[i]);
}
select_sort(a,4);
for(i=0;i<4;i++)
{
printf("%d ",a[i]);
}
printf("\n",a[i]);
}
#include
#define N 4
void main()
{
int a[N],x;
printf("Please input four numbers:\n");
for(int i=0; i
scanf("%d",a+i);
}
printf("\n");
for(i=0;i<=N-1;i++)
{
int k=i;
for (int j=i+1;j<=N;j++)
{
if (a[j] }
x=a[i];
a[i]=a[k];
a[k]=x;
}
for(i=0; i
printf("%d ",a[i]);
}
}
我简单写了一个,基本满足你的要求,不知道是否满意。
仅供参考!
#include
void main()
{
void ex(int *q1,int *q2,int *q3,int *q4);
int a,b,c,d,*p1,*p2,*p3,*p4;
puts("input 4 numbers:\n");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
p1=&a;
p2=&b;
p3=&c;
p4=&d;
ex(p1,p2,p3,p4);
printf("The sorted numbers :\n");
printf("%3i,%3i,%3i,%3i\n",a,b,c,d);
}
void ex(int *q1,int *q2,int *q3,int *q4)
{
void s(int *a1,int *a2);
if (*q1>*q2) s(q1,q2);
if (*q1>*q3) s(q1,q3);
if (*q1>*q4) s(q1,q4);
if (*q2>*q3) s(q2,q3);
if (*q2>*q4) s(q2,q4);
if (*q3>*q4) s(q3,q4);
}
void s(int *a1,int *a2)
{
int t;
t=*a1;
*a1=*a2;
*a2=t;
}
这个比较容易看懂
int a[4];
int i,temp;
for(i=0;i<4;i++)
scanf("%d",a[i]);
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]);
#include "stdio.h"
void main()
{
int a[4],i,n,j;
printf("Please input numbers:");
for(i=0;i<4;i++)
scanf("%d",&a[i]);
for(j=0;j<3;j++)
for(i=j+1;i<4;i++)
if(a[j]>a[i])
{n=a[j];
a[j]=a[i];
a[i]=n;}
printf("The results :");
for(i=0;i<4;i++)
printf("%d\t",a[i]);
}