去0倒序输出(只去开头的0,中间的不去)
目标演示:输入50200,输出205,把开头的0去掉,中间的不去。
这个题比较烧脑。它是这样的,一共有3种情况(而不是2种)。就拿50200来说,开头是0还是非0,得分别用程序去解决,
是0,执行一个程序,
非0,执行一个程序。
如果是0,那就执行“什么都不管,忽略掉。”这样执行了一次或几次之后,终于遇到了非0;
非0,执行第二个情况,那就是输出。在执行输出后,一定要有一个语句来跳出这个循环。
为什么要跳出?因为遇到了非0数字,就意味着前面的0已经全部被执行完了。这个时候就换第三个情况了,就是以后在遇到0,也要输出;以后遇到的数字不管是不是0,都输出。不如不跳出,那么之前的程序还是会把0忽略掉。
int n = Convert.ToInt32(Console.ReadLine());
bool yudao = false;
while (n!=0)
{
int i = n % 10;
if (yudao==false)
{
if (i != 0)
{Console.Write(i);yudao = true;}
else
{ }//什么都不管,什么都不写,程序就自动忽略掉了。
}
else
{Console.Write(i);}
n /= 10;
}