• 大数相加a+b


    #include<stdio.h>
    #include<string.h>
    #define MAX 1000
    void Add(char *a,char *b,char *result);
    int main()
    {
    char a[MAX];
    char b[MAX];
    char c[MAX];
    scanf("%s %s",&a,&b);
    printf("%s+%s",&a,&b);
    Add(a,b,c);
    printf(" %s",c);
    }
    void Add(char *a,char *b,char *result)
    {
    int lena=strlen(a);
    int lenb=strlen(b);
    int lenmax=(lena>lenb)? lena:lenb;//找出最大长度
    int locatea=lena-1;
    int locateb=lenb-1;
    int temp=0;
    int i;
    for(i=lenmax;i>=0;i--)
    {
    int ta=(locatea>=0)? (a[locatea]-'0'):0;
    int tb=(locateb>=0)? (b[locateb]-'0'):0;
    //printf("%d %d",ta,tb);
    temp+=(ta+tb);
    result[i]=temp%10+'0';
    temp=temp/10;
    locatea--;
    locateb--;
    }
    if(result[0]=='0')
    {
    for(i=0;i<lenmax;i++)
    {
    result[i]=result[i+1];
    }
    result[lenmax]='';
    }
    result[lenmax+1]='';
    }

  • 相关阅读:
    4.9新随笔
    4.2上机作业
    3.30作业
    3.26上机练习
    作业十
    作业九
    作业八
    作业六
    作业五
    作业三
  • 原文地址:https://www.cnblogs.com/renqiqiang/p/5561629.html
Copyright © 2020-2023  润新知