zoukankan      html  css  js  c++  java
  • 【hdu 1266 Reverse Number】

    Reverse Number

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
    Total Submission(s): 2924    Accepted Submission(s): 1348


    Problem Description
    Welcome to 2006'4 computer college programming contest!

    Specially, I give my best regards to all freshmen! You are the future of HDU ACM! And now, I must tell you that ACM problems are always not so easy, but, except this one... Ha-Ha!

    Give you an integer; your task is to output its reverse number. Here, reverse number is defined as follows:
    1. The reverse number of a positive integer ending without 0 is general reverse, for example, reverse (12) = 21;
    2. The reverse number of a negative integer is negative, for example, reverse (-12) = -21;
    3. The reverse number of an integer ending with 0 is described as example, reverse (1200) = 2100.
     
    Input
    Input file contains multiple test cases. There is a positive integer n (n<100) in the first line, which means the number of test cases, and then n 32-bit integers follow.
     
    Output
    For each test case, you should output its reverse number, one case per line.
     
    Sample Input
    3 12 -12 1200
     
    Sample Output
    21 -21 2100
     
    Author
    lcy
     
    Source
     
     
     
     
     
     1 // Project name : 1266
     2 // File name    : main.cpp
     3 // Author       : Izumu
     4 // Date & Time  : Sun Jul  8 17:12:48 2012
     5 
     6 
     7 #include <iostream>
     8 #include <string>
     9 using namespace std;
    10 
    11 int main()
    12 {
    13     int n;
    14     cin >> n;
    15     while (n--)
    16     {
    17         char s[1000];
    18         cin >> s;
    19 
    20         if (s[0] == '-')
    21         {
    22             cout << "-";
    23         }
    24 
    25         int top = 0;
    26         while (s[top] != '\0')
    27         {
    28             top++;
    29         }
    30         top--;
    31 
    32         int current = top;
    33         while (s[current] == '0' && current >= 0)
    34         {
    35             current--;
    36         }
    37 
    38         while (s[current] >= '0' && s[current] <= '9')
    39         {
    40             cout << s[current];
    41             current--;
    42         }
    43 
    44         while (s[top] == '0' && top >= 0)
    45         {
    46             cout << "0";
    47             top--;
    48         }
    49 
    50         cout << endl;
    51 
    52     }
    53     return 0;
    54 }
    55 
    56 // end 
    57 // ism 
  • 相关阅读:
    Codeforces-541div2
    动态规划-线性dp-hdu-4055
    动态规划_线性dp
    动态规划_背包问题笔记
    codeforces-1111
    数论模板
    codeforces-1114F-线段树练习
    2-sat
    拓扑排序
    强连通分量
  • 原文地址:https://www.cnblogs.com/ismdeep/p/2581695.html
Copyright © 2011-2022 走看看