用C写了一个~就是模仿竖式计算原理~
程序代码:
#include<stdio.h> #include<string.h> #define N 101 void Init(char a[]); char* fun(char a[],char b[],char c[]); int main() { char a[N+1]={0}; char b[N+1]={0}; char c[N+2]={0}; Init(a); Init(b); printf("%s\n",fun(a,b,c)); return 0; } void Init(char a[]) { char c=0; int i=1; a[0]='0'; while ((c=getchar())!='\n') a[i++]=c; } char* fun(char a[],char b[],char c[]) { char* pa=a+strlen(a)-1; char* pb=b+strlen(b)-1; char* pc=c+N-2; while (pa!=a||pb!=b||*pc) { *pc+=((*pa-'0')+(*pb-'0')); if (*pc>9) { *pc%=10; *(pc-1)+=1; } *pc+='0'; --pc; if (pa!=a) --pa; if (pb!=b) --pb; } return pc+1; }
[此贴子已经被作者于2017-4-7 20:06编辑过]
[code]/*~个性签名:bug是什么意思?bug是看上去没有可能的东西实际上是有可能做到的 就是这样~2018-08-08更~*/[/code]