zoukankan      html  css  js  c++  java
  • 大数相加

    先将两串数字字符串逆序,然后按位计算求和,注意进位问题,最后把计算结果字符串逆序!

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 #include <string.h>
     4 
     5 //字符串翻转
     6 void reverse(char *str)
     7 {
     8     char tmp;
     9     char *p0= str ,*p = str;
    10     while(*p != '')
    11         p++;
    12     p--;
    13     while(p0 < p)
    14     {
    15         tmp = *p0;
    16         *p0 = *p;
    17         *p = tmp;
    18         p0++, p--;
    19     }
    20 }
    21 
    22 
    23 char *Add_Num(char *a, char *b)
    24 {
    25     int len0 = strlen(a);
    26     int len1 = strlen(b);
    27     int m, n, in = 0; 
    28     int max = len0 > len1 ? len0 : len1; 
    29     char *c = (char *)malloc(sizeof(char)*(max+2));
    30     int i = 0, j = 0;
    31     memset(c, 0, max+2);//清空数组C
    32     reverse(a);//翻转数组
    33     reverse(b);
    34     
    35     for(i = 0; i < max ;i++)
    36     {
    37         if(*(a+i) != '' && i < len0)
    38             m = a[i] - '0';
    39         else
    40             m = 0;
    41         if(*(b+i) != '' && i < len1)
    42             n = b[i] - '0';
    43         else
    44             n = 0;
    45 
    46         c[j++] = (m + n + in) % 10 + '0';
    47         in  = (m + n + in) / 10;
    48     }
    49     if(in)
    50         c[j] = in + '0';
    51     
    52     reverse(c);
    53     return c;
    54 }
    55 int main()
    56 {
    57     char a[] = "333333333333333333333333333333333";
    58     char b[] = "1133333333333333333333333333333333";
    59     int i;
    60     char *c = Add_Num(a, b);
    61     printf("%s
    ", c);
    62 
    63     return 0;
    64 }
  • 相关阅读:
    Compiler OverView
    二叉查找树
    [C++] manage background threads with boost::thread
    模拟类式继承
    JavaScript Curry
    Get GetProcAddress Function Address
    ASP.MVC Session为null
    ASP.NET MVC项目Forms身份验证HttpContext.Current.User为空
    Java Bean Validation学习笔记
    java开发中sql注入正则表达式检测
  • 原文地址:https://www.cnblogs.com/xuyh/p/3261041.html
Copyright © 2011-2022 走看看