大数加法的程序不知道错在哪里求大神帮忙看看吧

来源:互联网  时间:2016/7/13 6:42:23

关于网友提出的“ 大数加法的程序不知道错在哪里求大神帮忙看看吧”问题疑问,本网通过在网上对“ 大数加法的程序不知道错在哪里求大神帮忙看看吧”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 大数加法的程序不知道错在哪里求大神帮忙看看吧
描述:


#include
#include
#include
#define Max 200
char bigadd(char a[],char b[],char sum[]);
int reverse(char str[],int len){
  char temp;
  int i;
  for(i=0;i<(len+1)/2;i++){
    temp=str[i];
    str[i]=str[len-i-1];
    str[len-i-1]=temp;
  }
  return 0;
}
int main()
{
    char a[Max];
    char b[Max];
    char sum[Max];
    memset(a,'0',Max);
    memset(b,'0',Max);
    memset(sum,'0',Max);
    scanf("%s%s",a,b);
    bigadd(a,b,sum);
    printf("%s",sum);
    system("pause");
}
char bigadd(char a[],char b[],char sum[])
{
    int i=0;
    int j=0;
    int c=0;
    int writeflag=0;   
    char result[Max];
    int lenA=strlen(a);
    int lenB=strlen(b);
    int len;
    memset(result,'0',Max);
    reverse(a,lenA);
    reverse(b,lenB);
    for (i=0;i<>
    {
        a[i]=a[i]-'0';
    }
    for (i=0;i<>
    {
        b[i]=b[i]-'0';
    }
    for (i=0;i<><>
    {
        result[i]=(a[i]+b[i]+c)%10+'0';//得到末位
        c=(a[i]+b[i]+c)/10;//得到进位
    }
    len=strlen(result);
    reverse(result,len);
    writeflag=0;
    for(i=0;i<>
    if(result[i]!='0') writeflag=1;
    if(writeflag==1)
      sum[j++]=result[i];
  }
    return 0;
}

上一篇关于指针数组初始化
下一篇新手问个linux c问题,求指教,谢谢了
明星图片
相关文章
《 大数加法的程序不知道错在哪里求大神帮忙看看吧》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)