删除字符串中的第一个递减区间的数

例如有一个字符串为141519,要删除第一个递减区间的数,即删除4,最后要输出11519,该如何做呢?

这就需要利用指针,将数依次往前移动,最后的数减少1.

删除字符串中的第一个递减区间的数

#include<iostream>
#include<cstring>
using namespace std;
char a[50];
int main()
{
	cin >> a;
	int n = strlen(a);
	for(int i = 0; i < n; ++i)
	{
		if(a[i] > a[i+1])
		{
			for(int j = i; j < n; ++j)
			{
				a[j] = a[j+1];//数依次往前移动 
			}
			break;//不能少,结束第一层循环 
		}
		--n; 
	}
	//输出结果
	for(int i = 0; i < n; ++ i)
		cout << a[i];
	cout << endl; 
} 

 

删除字符串中的第一个递减区间的数