80分帮帮我(┬┬﹏┬┬)
查看原帖
80分帮帮我(┬┬﹏┬┬)
1367918
zwt2011楼主2024/7/21 21:18

不会啊,教我怎么进位进到更长,大佬们!!!

1001+9099=00100怎么改???

#include<bits/stdc++.h>
using namespace std;
char a1[1001],b1[1001];
int a[1001],b[1001],c[1001],lenc,x;
int main(){
	cin>>a1>>b1;
	int lena=strlen(a1);
	int lenb=strlen(b1);
	for(int i=0;i<lena;i++){
		a[lena-i-1]=a1[i]-48;
	}//反向储存 
	for(int i=0;i<lenb;i++){
		b[lenb-i-1]=b1[i]-48;
	}//反向储存 
	while(lenc<lena||lenc<lenb){
		c[lenc]=a[lenc]+b[lenc]+x;
		x=c[lenc]/10;
		c[lenc]%=10;
		lenc++;
	}//lenc到达最长的一位 
	for(int i=lenc-1;i>=0;i--){
		if(c[i]!=0){
			break;
		}//跳出循环 
	}
	for(int i=lenc-1;i>=0;i--)	cout<<c[i];//输出 
	return 0;
}

#include<bits/stdc++.h> using namespace std; char a1[1001],b1[1001]; int a[1001],b[1001],c[1001],lenc,x; int main(){ cin>>a1>>b1; int lena=strlen(a1); int lenb=strlen(b1); for(int i=0;i<lena;i++){ a[lena-i-1]=a1[i]-48; }//反向储存 for(int i=0;i<lenb;i++){ b[lenb-i-1]=b1[i]-48; }//反向储存 while(lenc<lena||lenc<lenb){ c[lenc]=a[lenc]+b[lenc]+x; x=c[lenc]/10; c[lenc]%=10; lenc++; }//lenc到达最长的一位 for(int i=lenc-1;i>=0;i--){ if(c[i]!=0){ break; }//跳出循环 } for(int i=lenc-1;i>=0;i--) cout<<c[i];//输出 return 0; }

2024/7/21 21:18
加载中...