### cpp90分求助,测试点九和十过不了,求求了
查看原帖
### cpp90分求助,测试点九和十过不了,求求了
663738
lrfsjzm楼主2022/2/16 18:24
#include<iostream>
#include<string>
using namespace std;
string c;
int z[123456], h[123456], fz[123456], fh[123456];
int mid, flagz, flagh;
int main()
{
	cin >> c;
	if (c.length() == 1)
	{
		cout << c;
		return 0;
	}
	for (int i = 0; i < c.length(); i++)
	{
		if (c[i] < '0' || c[i]>'9')
			mid = i;
	}
	if (mid != 0)
	{
		for (int i = 0; i < mid; i++)
		{
			z[i] = c[i] - '0';
		}
		for (int k = 0; k < mid; k++)
		{
			if (z[k] != 0)flagz = 1;
		}
		if (flagz != 0)
		{
			for (int i = mid - 1; i >= 0; i--)
			{
				if (z[i] != 0)
				{
					break;
				}
				else fz[i] = 1;
			}
			for (int i = mid - 1; i >= 0; i--)
			{
				if (fz[i] == 0)
				{
					cout << z[i];
				}
			}
		}
		else
		{
			cout << 0;
		}
		cout << c[mid];
		if (mid ==c.length() - 1)
		{
			return 0;
		}
		for (int i = mid + 1; i < c.length(); i++)
		{
			h[i] = c[i] - '0';
		}
		for (int i = mid + 1; i < c.length(); i++)
		{
			if (c[i] != 0)flagh = 1;
		}
		if (flagh !=0)
		{
			for (int i = c.length() - 1; i > mid; i--)
			{
				if (h[i] != 0)break;
				else fh[i] = 1;
			}
			for (int i = mid + 1; i < c.length(); i++)
			{
				if (h[i] != 0)break;
				else mid++;
			}
			for (int i = c.length() - 1; i > mid; i--)
			{
				if (fh[i] == 0)cout << h[i];
			}
		}
		else
		{
			cout << 0;
		}
	}
	else
	{
		for (int i = 0; i < c.length(); i++)
		{
			z[i] = c[i] - '0';
		}
		for (int i = c.length() - 1; i >= 0; i--)
		{
			if (z[i] != 0)break;
			else fz[i] = 1;
		}
		for (int i = c.length() - 1; i >= 0; i--)
		{
			if (fz[i] == 0)cout << z[i];
		}
	}
	return 0;
}
2022/2/16 18:24
加载中...