大数的相加是不难的,只要模拟好过程,在注意进位的判断,尤其、
是最后一个的判断,很多人大概错在最后一个的进位忘了判断
#include<stdio.h>
#include<string.h>
#define MAXN 100
char x[MAXN] ;
void Add(char *str1 , char *str2 , char *Addstr){
int len1 = strlen(str1) ,len2 = strlen(str2) ;
int pos = MAXN -1 ;
len1-- ; len2-- ;
int jwe = 0 , temp ;
while(len1>=0&&len2>=0){
temp = (str1[len1]-'0'+str2[len2]-'0'+jwe)%10 ;
jwe = (str1[len1]-'0'+str2[len2]-'0'+jwe)/10 ;
Addstr[--pos] = temp + '0' ;
len1-- ; len2-- ;
}
while(len1 >= 0 ){
temp = (str1[len1] - '0' + jwe)%10 ;
jwe = (str1[len1] -'0'+jwe)/10 ;
Addstr[--pos] = temp + '0' ;
len1-- ;
}
while(len2 >= 0 ){
temp = (str2[len2] - '0' + jwe)%10 ;
jwe = (str2[len2] -'0'+jwe)/10 ;
Addstr[--pos] = temp + '0' ;
len2-- ;
}
if(jwe > 0)
Addstr[--pos] = jwe + '0' ;
strcpy(x , Addstr+pos) ;
}
int main(){
char str1[MAXN] , str2[MAXN] , Addstr[MAXN]={0};
scanf("%s%s" ,str1 , str2) ;
Add(str1 , str2 ,Addstr) ;
printf("%s\n" , x) ;
return 0 ;
}
Algorithm 大数的相加
最新推荐文章于 2022-10-19 07:36:14 发布
本文详细介绍了如何使用C语言实现大数相加的过程,包括模拟运算过程、注意进位判断,尤其是最后一位的进位处理。通过示例代码演示了整个算法实现。
311

被折叠的 条评论
为什么被折叠?



