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): 5052    Accepted Submission(s): 2352


    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
    #include<stdio.h>
    #include<string.h>
    #define MAXN 10000
    
    char a[MAXN];     //定义字符数组 
    int main()
    {
        int t, n, i, len;
        int k;
        scanf("%d", &t);   
        while( t-- )
        {
            scanf("%s", &a);       //输入字符串                    
             len = strlen(a);
             
       for(k = len - 1; k >= 0; k--)
            {
                if(a[k] != '0')       //筛选,非零位部分a[k]   
                    break;
            }
            
            
         if(a[0] == '-')
            {
                printf("-");
                
                for(i = k; i >=1; i--) // 将k 相对应地 保存  在i中 
                        printf("%c", a[i]);//反转 
                        
                for(i = k + 1; i < len; i++)
                    printf("0");
            }
            
         else
            
            {
                for(i = k; i >=0; i--)
                    printf("%c", a[i]);
                for(i = k + 1; i < len; i++)
                    printf("0");
            }
            
            printf("
    ");
        }
        return 0;
    }
    View Code

    #include<stdio.h>
    #include<string.h>
    #define MAXN 10000

    char a[MAXN];     //定义字符数组
    int main()
    {
        int t, n, i, len;
        int k;
        scanf("%d", &t);  
        while( t-- )
        {
            scanf("%s", &a);       //输入字符串                   
             len = strlen(a);
            
       for(k = len - 1; k >= 0; k--)
            {
                if(a[k] != '0')       //筛选,非零位部分a[k]  
                    break;
            }
           
           
         if(a[0] == '-')
            {
                printf("-");
               
                for(i = k; i >=1; i--) // 将k 相对应地 保存  在i中
                        printf("%c", a[i]);//反转
                       
                for(i = k + 1; i < len; i++)
                    printf("0");
            }
           
         else
           
            {
                for(i = k; i >=0; i--)
                    printf("%c", a[i]);
                for(i = k + 1; i < len; i++)
                    printf("0");
            }
           
            printf(" ");
        }
        return 0;
    }

    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
        int n;
        cin>>n;
        string s;
        while(n--)
        {
            cin>>s;
            int begin = 0,end,i,j;
            if(s[0] == '-')begin = 1;
           while(s[begin] == '0')begin++;
            end = s.size()-1;
            while(s[end] == '0')end--;
            reverse(s.begin()+begin,s.begin()+end+1);
            cout<<s<<endl;
        }
        return 0;
    }
    View Code

    #include<iostream>
    #include<string>
    using namespace std;
    int main()
    {
        int n;
        cin>>n;
        string s;
        while(n--)
        {
            cin>>s;
            int begin = 0,end,i,j;
            if(s[0] == '-')begin = 1;
           while(s[begin] == '0')begin++;
            end = s.size()-1;
            while(s[end] == '0')end--;
            reverse(s.begin()+begin,s.begin()+end+1);
            cout<<s<<endl;
        }
        return 0;
    }


     

  • 相关阅读:
    3、Nginx负载均衡实现的策略
    2、Nginx 是如何实现并发的?为什么 Nginx 不使用多线程?Nginx常见的优化手段有哪些?502错误可能原因有哪些?
    1、HTTP 的负载均衡?Nginx负载均衡
    用 Python 手写十大经典排序算法
    处理TypeError: testFunc() missing 1 required positional argument: 'self' -- 没有实例化对象的错误
    Socket技术详解
    MAC终端常用命令
    接口自动化测试框架 -- reudom
    如何在Pypi发布上传你自己的Python库
    Docker数据目录迁移解决方案
  • 原文地址:https://www.cnblogs.com/2014acm/p/3885489.html
Copyright © 2011-2022 走看看