1:直接将数字串读入;
2:进行一个while循环,循环到m=0(删除完了)。循环中再进行一个while循环,每找到一个比后面大的一个数时,退出,然后将其删除。
3:做一个判断,如果整个数字串删除完了,就输出0;
4:否则就在判断是否为0,为0输出0;
5:最后为数字串删除0;
6:输出;
#include<iostream>
#include<string.h>using namespace std;
int main()
{
char a[1000];
int n,i,j,m;
cin >> a;
cin >> m;
while(m > 0)
{
i = 0;
//cout << i;
while ((i <= strlen(a))&&(a[i] <= a[i+1])) i++;
for (j = i;j <= strlen(a);j++)
{
a[j] = a[j+1];
}
a[j] = '\0';
m--;
//for (int i1=0;a[i1]!= '\0';i1++) cout << a[i1] << ' ';
//cout << endl;
}
//cout << '3';
i = 0;
if (a[0] == '\0')
{
cout << '0';
}
else
{
//for (i=0;a[i]!= '\0';i++) cout << a[i] << ' ';
//cout << endl;
while (a[0] == '0')
{
for (j = 0;j <= strlen(a);j++)
a[j] = a[j+1];
a[j] = '\0';
}
if (a[0] == '\0')
{
cout << '0';
}
else
{
cout << a;
cin >> n;
}
}
return 0;
}