大一新生刚刚学c,感觉我的想法不错,分享一下
查看原帖
大一新生刚刚学c,感觉我的想法不错,分享一下
1418802
alalalddd楼主2024/12/10 23:46

如果写的不好轻喷

#include<stdio.h>
#include<string.h>
int main(){
	char a[1001],b[1001];
	gets(a);
	gets(b);
	int len1=strlen(a);
	int len2=strlen(b);
	int maxx=0;
	int c[1001];
	if(maxx<len1) maxx=len1;
	if(maxx<len2) maxx=len2;
	if(len1<len2){
		for(int i=0;i<len1;i++){
			a[len2-i-1]=a[len1-1-i];
		}
		for(int i=0;i<len2-len1;i++){
			a[i]='0';//a进行补0
		}
	}
	else if(len2<len1){
		for(int i=0;i<len2;i++){
			b[len1-i-1]=b[len2-1-i];
		}
		for(int i=0;i<len1-len2;i++){
			b[i]='0';//对b进行补0
		}
	}
	for(int i=maxx-1;i>=0;i--){
		c[i]=a[i]+b[i]-2*'0';
	}
	for(int i=maxx-1;i>=0;i--){
		if(i!=0){
			if(c[i]>=10){
			c[i-1]=c[i-1]+c[i]/10;
			c[i]=c[i]%10;
		}//不等于0时,进位。等于0时进不进位不影响
		}
	}
	for(int i=0;i<maxx;i++){
		printf("%d",c[i]);
	}
}

写的不好轻喷

2024/12/10 23:46
加载中...