zoukankan      html  css  js  c++  java
  • UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers

    Regionals 1998 >> Europe - Central

    问题链接:UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers。入门练习题,用C语言编写。

    题意简述:输入两个整数,都反转(逆序)后再求和,输出相加后反转(逆序)的结果。

    问题分析:整数可能很大,大到200位;相加结果反转后左边的0需要去掉。

    程序中封装了两个函数来实现,逻辑更加简单清晰。

    AC的C语言程序如下:

    /* UVA713 UVALive5539 POJ1504 ZOJ2001 Adding Reversed Numbers */
    
    #include <stdio.h>
    #include <string.h>
    
    #define MAXN 200
    
    void revers(char s[])
    {
        int start, end;
    
        start = 0;
        end = strlen(s) - 1;
        while(start < end) {
            char temp;
            temp = s[start];
            s[start] = s[end];
            s[end] = temp;
    
            start++;
            end--;
        }
    }
    
    int add(char s[], char t[], char r[])
    {
        int i, j, k, c;
    
        i = strlen(s) - 1;
        j = strlen(t) - 1;
    
        c = 0;
        k = 0;
        while(i >= 0 || j >= 0) {
            if(i >= 0)
                r[k] = s[i] - '0' + ((j>=0)?(t[j] - '0'):0) + c;
            else
                r[k] = t[j] - '0' + c;
    
            if(r[k] >= 10) {
                r[k] = r[k] - 10 + '0';
                c = 1;
            } else {
                r[k] = r[k] + '0';
                c = 0;
            }
    
            i--;
            j--;
            k++;
        }
        if(c > 0)
            r[k++] = c + '0';
        r[k] = '';
    
        i = 0;
        while(i < k && r[i] == '0')
            i++;
    
        return i;
    }
    
    int main(void)
    {
        int n, start;
        char s[MAXN+1], t[MAXN+1], ans[MAXN+2];
    
        scanf("%d", &n);
        while(n--) {
            scanf("%s%s", s, t);
    
            revers(s);
            revers(t);
    
            start = add(s, t, ans);
    
            printf("%s
    ", ans + start);
        }
    
        return 0;
    }



  • 相关阅读:
    Windows Phone MultiBinding :Cimbalino Toolkit
    Instant Django 1.5 Application Development Starter
    Writing your first Django
    Python urllib2 proxy
    TED Notes 1 (What leads to success)
    Py2.7 no module named tkinter
    某培训的笔记
    “假学习”和“真学习”[转]
    Selenium学习笔记
    反思之一
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564458.html
Copyright © 2011-2022 走看看