悬关,求调
查看原帖
悬关,求调
965137
emu_楼主2024/8/3 14:41

字符串里一有零输出就不对,没有零就能正常反转

#include<bits/stdc++.h>
using namespace std;
int main()
{
	string s;
	char c='f';
	int wzhi,len;
	cin>>s;
	len=s.size();
	for(int i=0;i<s.size();i++)
	{
		if(s[i]<'1'||s[i]>'9')
		{
			c=s[i];
			wzhi=s.find(c);
			break;
		}

	}
	int zhans=len-1,sum=len;
	if(c=='f')
	{
		while(s[zhans]=='0')
		{
			sum--;
			zhans--;
		}
		for(int i=sum-1;i>=0;i++)
		{
			cout<<s[i];
		}
		//reverse(s.begin(),s.end());
		/*for(int i=0;i<len;i++)
		{
			/*
			if(i==0&&s[i]=='0')
			{
				s[i]='f';
			}
		}
		for(int i=0;i<len;i++)
		{
			//if(s[i]!='f')
				cout<<s[i];
		}*/
		return 0;
	}
	
	reverse(s.begin()+0,s.begin()+wzhi);
	reverse(s.begin()+wzhi+1,s.end());
	zhans=0;
	while(s[zhans]=='0'&&zhans<wzhi)
	{
		
		zhans++;
	}
	for(int i=zhans;i<=wzhi;i++)
	{
		cout<<s[i];
	}
	zhans=len-1;
	while(s[zhans]=='0'&&zhans>wzhi)
	{
		zhans--;
	}
	for(int i=wzhi+1;i<=zhans;i++)
	{
		cout<<s[i];
	}
	return 0;
}
2024/8/3 14:41
加载中...