被嘲笑了
  • 板块灌水区
  • 楼主shokuhou
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/8/15 19:06
  • 上次更新2024/8/15 20:49:43
查看原帖
被嘲笑了
1392414
shokuhou楼主2024/8/15 19:06

被同学嘲讽了,这代码太长了(bushi),快来帮帮我

#include<bits/stdc++.h>
using namespace std;
int main(){
	char s1[11000],s2[11000];
	int  lena=0,lenb=0,lenc=0,a[11000]={},b[11000]={},c[11000]={},x=0,y=0;
	cin>>s1>>s2;
	lena=strlen(s1);
	lenb=strlen(s2);	
	if(strlen(s1)<strlen(s2)){
		for (int i=0;i<lena;i++){
			b[lena-i]=s1[i]-48;
		}
		for (int i=0;i<lenb;i++){
			a[lenb-i]=s2[i]-48;
		}
		y=1;
	}
	
	if(strlen(s1)>strlen(s2)){
		for (int i=0;i<lena;i++){
			a[lena-i]=s1[i]-48;
		}
		for (int i=0;i<lenb;i++){
			b[lenb-i]=s2[i]-48;
		}
		
	}
	if(strlen(s1)==strlen(s2)){
		for (int i=0;i<lena;i++){
			if(s1[i]-48>=s2[i]-48){
				a[11000]={};
				b[11000]={};
				for (int i=0;i<lena;i++){
					a[lena-i]=s1[i]-48;
				}
				for (int i=0;i<lenb;i++){
					b[lenb-i]=s2[i]-48;
				}
				break;
			}
			if(s1[i]-48<s2[i]-48){
				a[11000]={};
				b[11000]={};
				for (int i=0;i<lena;i++){
					b[lena-i]=s1[i]-48;
				}
				for (int i=0;i<lenb;i++){
					a[lenb-i]=s2[i]-48;
				}	
				y=1;
				break;			
			}
		}
	}
	if(lena>=lenb) lenc=lena;
	else lenc=lenb;
	for(int i=1;i<=lenc;i++){
		if(a[i]<b[i]){
			a[i]+=10;
			a[i+1]--;
		}
		c[i]=a[i]-b[i];
	}
	while(lenc>1&&c[lenc]==0)lenc--; 
	if(y==1){
		cout<<"-";
	}
	for(int i=lenc;i>=1;i--){
		cout<<c[i];
	}
	return 0;
}
2024/8/15 19:06
加载中...