由于此题过于简单
直接奉上代码
↓↓↓加法↓↓↓
#include<bits/stdc++.h>
using namespace std;
int main(){
char a1[501],b1[501];
int a[501],b[501],lena,lenb,lenc,c[504],i,x;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
scanf("%s %s",a1,b1);//["gets"不建议使用]
lena=strlen(a1);
lenb=strlen(b1);
for(int i=0;i<lena;i++)a[lena-i]=a1[i]-'0';
for(int i=0;i<lenb;i++)b[lenb-i]=b1[i]-'0';
lenc=1;
x=0;
while(lenc<=lena||lenc<=lenb){
c[lenc]=a[lenc]+b[lenc]+x;
x=c[lenc]/10;
c[lenc]%=10;
lenc++;
}
c[lenc]=x;
if(c[lenc]==0)lenc--;
for(i=lenc;i>=1;i--){
cout<<c[i];
}
return 0;
}
↓↓↓减法↓↓↓
#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
int main()
{
char a[100010],b[100010];
cin>>a>>b;
int c[100010],d[100010],h[100010],n1,n2,i,f=0,l=0;
n1=strlen(a);
n2=strlen(b);
for(i=0;i<n1/2;i++) swap(a[i],a[n1-1-i]);
for(i=0;i<n2/2;i++) swap(b[i],b[n2-1-i]);
for(i=0;i<n1;i++) c[i]=a[i]-'0';
for(i=0;i<n2;i++) d[i]=b[i]-'0';
if(n2>n1)
{
for(i=0;i<n2;i++) swap(c[i],d[i]);
f=1;
}
if(n1>n2) swap(n1,n2);
for(i=0;i<n2;i++) h[i]=c[i]-d[i];
for(i=0;i<n2;i++)
{
if(h[i]<0)
{
h[i]=10+h[i];
h[i+1]--;
}
}
if(f==1) cout<<"-";
for(i=n2-1;i>=0;i--)
{
if(l==0)
{
if(h[i]!=0)
{
l=1;
cout<<h[i];
continue;
}
}
if(l!=0)
{
cout<<h[i];
}
}
}
↓↓↓乘法↓↓↓
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a1[101],b1[101];
int a[101],b[101],c[202],lean,lenb,lenc,i,j,x;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
memset(c,0,sizeof(c));
scanf("%s",a1);
scanf("%s",b1);
lean=strlen(a1) ;lenb=strlen(b1) ;
for(i=0;i<lean;i++)
a[lean-i]=a1[i]-48;
for(i=0;i<lenb;i++)
b[lenb-i]=b1[i]-48;
for(i=1;i<=lean;i++)
{
x=0;
for(j=1;j<=lenb;j++)
{
c[i+j-1]=a[i]*b[j]+x+c[i+j-1];
x=c[i+j-1]/10;
c[i+j-1]%=10;
}
c[i+lenb]=x;
}
lenc=lean+lenb;
while(c[lenc]==0&&lenc>1)
lenc--;
for(i=lenc;i>=1;i--)
cout<<c[i];
cout<<endl;
return 0;
}
↓↓↓除法↓↓↓
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
string a1;
int b, yu,a[N], result[N];
int main()
{
cin >> a1 >> b;
int lena = a1.size();
for(int i = 0; i < lena; i++)a[i] = a1[lena - i - 1] - '0';
for(int i = lena - 1; i >= 0; i--)
{
yu = yu * 10 + a[i];
result[i] = yu / b;
yu %= b;
}int tmp = lena;
while(result[tmp] == 0 && tmp > 0) tmp--;
for(int i = tmp; i >= 0; i--) cout << result[i];
cout << endl;
return 0;
}
你学废了吗???
这期就到这里了
记得点赞
散会