zoukankan      html  css  js  c++  java
  • P1553 数字反转

    #include<iostream>
    #include<stdlib.h>
    #include<stdio.h>
    #include<string>
    #include<cmath>
    #include<math.h>
    #include<stack>
    
    using namespace std;
    
    int main() {
        int cnt = 0;
        char p = 0;
        string s;
        cin >> s;
        for (int i = 0; i < s.size(); i++)
        {
            if (s[i] >= '0'&&s[i] <= '9')
                cnt++;
            else
            {
                p = s[i];
                break;
            }
            
        }
        int x = cnt;
        cnt--;
        while (s[cnt] == '0'&&cnt > 0)cnt--;
        for (int i = cnt; i >= 0; i--)
            cout << s[i];
        if (p == 0)    return 0;
        else if (p == '%') { cout << p; return 0; }
        else cout << p;
        int m = s.size() - 1;
        while (s[x + 1] == '0'&&x < m-1)x++;//难点在这
        while (s[m] == '0'&&m > x + 1) m--;//难点在这
        for (int i = m; i > x; i--)//输出第二个数 
            cout << s[i];
        //system("pause");
        return 0;
    }

    卡了很久的题。。自己写卡在85就凉了(2WA1RE)所以我为什么要拿stack做。。还写得又臭又长。。明显应该string嘛1551

    不说自己的思路了(上面的是%大佬的)就说大佬的8

    分成两块,先输出前一个数,判断有无符号,无return0,有再输出第二个数;

    第一个数就是删前导0,倒置输出(整数百分数)

    第二个数开始

    那2个while很关键啊,删前导0和去除后缀0,但不能删到没有数(至少有一个)

  • 相关阅读:
    html5学习笔记2——新元素
    html5学习笔记——基础
    html学习笔记之2——多媒体
    Python调试打印错误信息
    Python随机字符串验证码
    js传递数组
    js上传图片并预览
    JS获取当前日期、比较日期大小
    nrm管理npm源
    使用Git Subtree在多个项目中共用同一个子项目
  • 原文地址:https://www.cnblogs.com/kazama/p/9757370.html
Copyright © 2011-2022 走看看