求大神帮忙看看这个排序哪儿错了
提示: 作者被禁止或删除 内容自动屏蔽

程序代码://简单的冒泡排序
#include<stdio.h>
int main()
{
int a[4];
int t,i,j;
printf("请输入四个整数:");
for(t=0;t<4;t++)
{
scanf("%d",&a[t]);
}
for(j=0;j<4;j++)
{
for(i=j;i<3;i++)
{
int temp;
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
for(t=0;t<4;t++)
{
printf("%4d",a[t]);
}
return 0;
}
程序代码:#include<stdio.h>
void main()
{
int a,b,c,d,t;
scanf("%d%d%d%d",&a,&b,&c,&d);
if(a>b){t=a;a=b;b=t;}
if(b>c){t=b;b=c;c=t;}
if(c>d){t=c;c=d;d=t;}
//往上三行的功能是把最大的放到d
// if(b>c){t=b;b=c;c=t;}
if(a>b){t=a;a=b;b=t;}
if(b>c){t=b;b=c;c=t;}
//这两行应该是把abc中最大的放到c,可惜写反了,
//应该先比较ab
// if(b>c){t=b;b=c;c=t;}
if(a>b){t=a;a=b;b=t;}
//想想也知道,应该比较最前面两个了
printf("%d,%d,%d,%d\n",a,b,c,d);
}
//其实还是冒泡排序吧。。。
//用循环,就可以少些很多行代码了
