有人来帮我看看代码哪里错了吗

img


这个,让四个整数从小到大排序

img


但我输入这样是对的

img


这样就错了,我真不知道是哪里错了


#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    int a,b,c,d,t;
    printf("数字排序程序\n");
    printf("输入四个数用空格隔开:");
    scanf("%d %d %d %d",&a,&b,&c,&d);
    if(a>b){t=a,a=b,b=t;}
    if(a>c){t=c,c=a,a=t;}
    if(a>d){t=a,a=d,d=t;}
    if(b>c){t=b,b=c,c=t;}
    if(b>d){t=b,b=d,d=t;}
    if(c>d){t=c,c=d,d=t;}
    
    
    printf("\n结果为:%d %d %d %d",a,b,c,d);
    
    
    
    return main();
}