对这类问题不太熟,不知到错那了

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我想要达到的结果

img

#include
int main()
{ char a[3];
  int i,j;
  char t;
  for(i=0;i<3;i++)
  { a[i]=getchar();
  }
  for(i=0;i<3;i++)
  { for(j=i+1;j<3;)
    { if(a[i]>a[j])
      { t=a[i];
        a[i]=a[j];
        a[j]=t;
      }
    }
  }
  for(i=0;i<3;i++)
  {printf("%c ",a[i]);
  }
    return 0;
 } 

//输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
#include <stdio.h>

int main(void)
{
    char a,b,c,tmp;
    while(scanf("%c%c%c%*c",&a,&b,&c)!=EOF)//用"%*c"(空字符,不存储字符的字符)滤掉回车;EOF为文件结束符。
    {
        if(a>b) tmp=a,a=b,b=tmp;   
        if(a>c) tmp=a,a=c,c=tmp;
        if(b>c) tmp=b,b=c,c=tmp;
        printf("%c %c %c\n",a,b,c);
    }
    return 0;
}

输入有多组,你这代码只能处理一组,后续的怎么办?
你得写个while循环,直到检测到EOF才是结束