求助:为什么没有输出
查看原帖
求助:为什么没有输出
1367086
zzhhyy1234楼主2024/8/7 14:58

没有用函数做,A了;想专门写一个函数,但是没有输出,我甚至cout了 s[i] 都是能输出且正确的。但是cout s什么都没有,调了一个多小时心态崩了

#include<bits/stdc++.h>
#define M 1000
using namespace std;


string high_plus(string s1,string s2);
int main()
{
	string s1,s2;
	getline(cin,s1);
	getline(cin,s2);
	cout<<high_plus(s1,s2);
}
string high_plus(string s1,string s2)
{
	short a[M]={0},b[M]={0};
	long long sa,sb;
	int l=s1.length();
	for(int i=l-1;i>=0;i--) a[i+1]=s1[i]-'0';
	sa=l;
	l=s2.length();
	for(int i=l-1;i>=0;i--) b[i+1]=s2[i]-'0';
	sb=l;
	int sc=max(sa,sb);
	int f=0;
	short c[M]={0};
	for(int i=1;i<=sc;i++){
		if(sa==sb) c[i]+=a[i]+b[i];
		else{
			if(sa>sb){
				if(i<=sa-sb) c[i]+=a[i];
				else c[i]+=a[i]+b[i-(sa-sb)];
			}
			if(sa<sb){
				if(i<=sb-sa) c[i]+=b[i];
				else c[i]+=a[i-(sb-sa)]+b[i];
			}
		}
	}
	for(int i=sc;i>=1;i--){
		if(c[i]>=10){
			c[i]-=10;
			c[i-1]++;
			if(i==1) f=1;
		}
	}
	string s;
	if(f==0){
		for(int i=1;i<=sc;i++) s[i-1]=c[i]+'0';
	}
	else{
		for(int i=0;i<=sc;i++){
			s[i]=c[i]+'0';
			//if(i==sc) s[i+1]='\0';
			//cout<<s[i]<<endl;
		}
	}
	//cout<<s;
	return s;
}

蹲一个巨佬帮我调代码

2024/8/7 14:58
加载中...