编写一个程序实现以下内容

给出一个不多于5位的正整数,要求:

① 求出它是几位数。

② 分别打印出每一位数字。

③ 按逆序打印出各位数字,例如,原数为321,应输出123。

应准备以下测试数据:

① 要处理的数为1位正整数。

② 要处理的数为2位正整数。

③ 要处理的数为3位正整数。

④ 要处理的数为4位正整数。

⑤ 要处理的数为5位正整数。

除此之外,程序还应当对不合法的输入做必要的处理。例如:

① 输入负数。

② 输入的数超过5位(如123456)。