大数加法

语法:add(char a[],char b[],char s[]);

参数:

a[]: 被乘数,用字符串表示,位数不限

b[]: 乘数,用字符串表示,位数不限

t[]: 结果,用字符串表示

返回值: null

注意:

  空间复杂度为 o(n^2)

  需要 string.h

源程序:

#include <iostream>
#include <string.h>
using namespace std;
void add(char a[],char b[],char back[])
{
    int i,j,k,up,x,y,z,l;
    char *c;
    if(strlen(a)>strlen(b)) 
        l=strlen(a)+2; 
    else 
        l=strlen(b)+2;
    c=(char *) malloc(l*sizeof(char));
    i=strlen(a)-1;
    j=strlen(b)-1;
    k=0;up=0;
    while(i>=0||j>=0)
        {
            if(i<0) 
                x='0'; 
            else 
                x=a[i];

            if(j<0) 
                y='0'; 
            else 
                y=b[j];

            z=x-'0'+y-'0';

            if(up) 
                z+=1;
            if(z>9) 
            {
                up=1;
                z%=10;
            } 
            else 
                up=0;
            c[k++]=z+'0';
            i--;
            j--;
        }
    if(up) 
        c[k++]='1';
    i=0;
    c[k]='\0';
    for(k-=1;k>=0;k--)
        back[i++]=c[k];
    back[i]='\0';
} 
void add(char a[],char b[],char back[]);
int main()
{
    char a[100];
    char b[100];
    char back[100];
    cout<<"请输入两个大数:"<<endl;
    cin>>a>>b;
    add(a,b,back);

    cout<<"大数相加结果是:"<<back<<endl;
    return 0;
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • [大数据之Sqoop] —— 什么是Sqoop?

    介绍 ? sqoop是一款用于hadoop和关系型数据库之间数据导入导出的工具。你可以通过sqoop把数据从数据库(比如mysql,oracle)导入到hdfs...

    用户1154259
  • 侦听局域网内密码

    只需在前面的网络嗅探程序基础上,添加对搜索出的端口号进行的增加功能即可: 代码如下: 在DecodeIPPacket中添加: switch(::ntohs(pT...

    用户1154259
  • 结构体的优化声明

    声明一个结构体的时候,因为考虑到内存的对齐。例如,int型的变量,需要4个字节,那么它在存储的时候就需要在地址能够被4个字节整除的地方开始申请。 例如我们申请下...

    用户1154259
  • c#处理空白字符

    空白字符是指在屏幕不会显示出来的字符(如空格,制表符tab,回车换行等)。空格、制表符、换行符、回车、换页垂直制表符和换行符称为 “空白字符”,因为它们为与间距...

    张善友
  • C#/.NET 如何确认一个路径是否是合法的文件路径

    很多方法要求传入一个字符串作为文件名或者文件路径,不过方法在实际执行到使用文件名的时候才会真正使用到这个文件名;于是这这种时候才会因为各种各样的异常发现...

    walterlv
  • 2019强网杯Web部分Writeup

    这里首先想到的就是上传木马,但是经过尝试只能上传图片马,并且不能直接利用,经过抓包发现cookie是序列化内容,所以应该是通过cookie传递序列化内容,经过服...

    FB客服
  • iconv_open、iconv和iconv_close函数使用示例

    一见
  • [PHP] 通用网关接口CGI 的运行原理

    CGI 的运行原理: 1.客户端访问某个 URL 地址之后,通过 GET/POST/PUT 等方式提交数据,并通过 HTTP 协议向 Web 服务器发出请求。 ...

    陶士涵
  • 基础知识 | 每日一面(68)

    小林:一个原因是太多的代码包含char *p = "Hello, world!";这样并不正确的语句。这样的语句要受诊断信息的困扰,但真正的问题却出

    闫小林
  • [大数据之Sqoop] —— 什么是Sqoop?

    介绍 ? sqoop是一款用于hadoop和关系型数据库之间数据导入导出的工具。你可以通过sqoop把数据从数据库(比如mysql,oracle)导入到hdfs...

    用户1154259

扫码关注云+社区

领取腾讯云代金券