初学菜鸟,第一次用类写程序,试了大概5个小时==终于写出来了!
#include <bits/stdc++.h>
#include <iostream>
#include <string>
using namespace std;
class hugenum{
private:
char a[100];
public:
int a1[100];
int j=0;
hugenum(char a[],int j){
memset(a1);trans(a,a1);if(a[0]=='-')j=j-1;
reverse(a1,j);
}
void memset(int a1[]){for(int i=0;i<100;i++)a1[i]=0;};
void trans(char a[],int a1[]){
if(a[0]=='-')for(int i=1,n=0;a[i]!='\0';i++,n++){a1[n]=-1*(a[i]-48);}
else for(int i=0;a[i]!='\0';i++)a1[i]=a[i]-48;
}
void reverse(int a1[],int j){
int i=0;
char x;
while(i<j){
x=a1[i];a1[i]=a1[j];a1[j]=x;
i++;
j--;
}
}
};
int main(){
char m[100],n[100];
cin>>m>>n;
int j1=strlen(m)-1;int j2=strlen(n)-1;
int c[101];
memset(c,0,101);
hugenum fir(m,j1),sec(n,j2);
if(m[0]=='-')j1=j1-1;if(n[0]=='-')j2=j2-1;
for(int i=0;i<=j1&&i<=j2;i++){
c[i]=fir.a1[i]+sec.a1[i];
if(c[i]>=10){
c[i]=c[i]-10;
fir.a1[i+1]=fir.a1[i+1]+1;
}
}
int i=0,j=0;
for(i=0;c[i]!=0;i++)j++;
i=0;int p=j;
while(i<j){
swap(c[i],c[j]);
i++;
j--;
}
for(int i=1;i<=p;i++)cout<<c[i];
cout<<endl;
return 0;
}