70分的看这里!让你抹零你别全抹了

P1307 [NOIP2011 普及组] 数字反转

3anparus @ 2024-03-19 23:06:14

例如 3800反转后是83,需要去掉前面的0 你就会有一行类似这样的代码:

if (这一位是零){
    不输出;
}
else{
    输出;
}

但是!结合一下标题:“让你抹零你别全抹了” 请您往里面输入一个 3080, 你的输出结果如果是83,恭喜你找出了症结。

鉴于讨论区不许发布题解,这里附上思路: 设置一个bool变量,当输出一个非零数字时,改变bool值,下次输出时跳过(零?)判断:

    bool p=0;
    for (int j = 1; j <= i ; j++)   //逆序存储,逆序输出
    {

        if (s[j]==0 && p==0) continue;
        cout << s[j];
        p = 1;

    }
//这里s[j]是一个逆序存储各位数字的数组

by Johonny @ 2024-04-17 23:17:00

感谢分享


|