码迷,mamicode.com
首页 > 编程语言 > 详细

大数的加法函数--c语言

时间:2016-12-27 00:20:59      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:函数   http   []   res   turn   字符   paste   lib   com   

浏览网站http://paste.ubuntu.com/23687758/

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char * largeAdd(char a[],char b[]){
/*
//传进来两个个字符串,返回结果为字符串 错误字符返回NULL
大位数的加法函数 ,位数不能超过1000
要加头文件<string.h>
*/
int a_num[1000]={0},b_num[1000]={0};
int a_len,b_len,i,j,len,sum;
char result[1001];
a_len=strlen(a);
b_len=strlen(b);
len=a_len>b_len?a_len:b_len;//返回较大的值
for(i=0;i<a_len;i++){
if(a[i]<‘0‘||a[i]>‘9‘) return NULL;
a_num[a_len-i-1]=a[i]-‘0‘;
}
for(i=0;i<b_len;i++){
if(b[i]<‘0‘||b[i]>‘9‘) return NULL;
b_num[b_len-i-1]=b[i]-‘0‘;
}
for(i=0;i<len;i++){
sum=a_num[i]+b_num[i];
a_num[i]=sum%10;
a_num[i+1]=a_num[i+1]+sum/10;
}

if(a_num[len]>0){
for(i=len;i>=0;i--){
result[len-i]=a_num[i]+‘0‘;
}
result[len+1]=‘\0‘;
}else{
for(i=len-1;i>=0;i--){
result[len-i-1]=a_num[i]+‘0‘;
}
result[len]=‘\0‘;
}
return result;
}
int main(){
char a[1000],b[1000];
char *result;
gets(a);
gets(b);
result=largeAdd(a,b);
printf("%s",result);
return 0;
}

//编程爱好者 QQ群 248351598

大数的加法函数--c语言

标签:函数   http   []   res   turn   字符   paste   lib   com   

原文地址:http://www.cnblogs.com/banzhen/p/6224040.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!