啊哈磊_编程从这里起步

标题: 高进度加法 [打印本页]

作者: admin    时间: 2015-10-10 00:00
标题: 高进度加法
[mw_shl_code=c,true]#include <stdio.h>
#include <stdlib.h>
#include <string.h>


int main()
{
        int i, j, k,len1,len2,lager, temp,carry = 0;
        char a[201], b[201], c[202];
        scanf("%s%s", a,b);
        len1 = strlen(a);
        len2 = strlen(b);        
        if(len1 > len2)        lager=len1+1;
        else        lager=len2+1;
        for(i=0;i<=lager-1;i++)
                c='0';
        c[lager] = '\0';
        i=len1-1;
        j=len2-1;
        k=lager-1;
        while(i>=0 || j>=0)
        {
      temp = carry;
      if(i>=0) temp += a - '0';
      if(j>=0) temp += b[j] - '0';
      if (temp >= 10) {
         c[k] = temp - 10 + '0';
         carry = 1;
      } else {
         c[k] = temp + '0';
         carry = 0;
      }
           i--; j--; k--;
        }
        c[k] = carry + '0';

        if(c[0]!='0') printf("%c",c);
        for(i=1;i<=lager-1;i++)
        {
                printf("%c",c);
        }
        system("pause");
        return 0;
}[/mw_shl_code]

作者: 推荐人    时间: 2015-10-11 09:12
额这个好像是Win7计算器加法算法
另外问一下整数变字符串和字符串变整数的算法
还有可以用C++的string和vector




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2