View Code of Problem 609

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int main() {
	char a[1000];
	while(scanf("%s",a)!=EOF)
	{
		int s;
		scanf("%d",&s);
		int len=strlen(a);
		int i,j,flag;
		while(s--)
		{
			flag=0;
			for(i=0;i<len-1;i++)
			{
				if(a[i]>a[i+1])
				{
					flag=1;
					for(j=i;j<len-1;j++)
					{
						a[j]=a[j+1];
					}
					len--;
					break;
				}
			}
			if(flag==0)//如果没有后一位比前一位小的数,则直接把末尾的数去掉一个
			{
				len--;
			}
		}
		i=0;
		while(a[i]=='0')//此处应该为字符0
		{
			i++;
		}
		if(i<len)//考虑到结果为0的时候
		{
			for(j=i;j<len;j++)
		{
			printf("%c",a[j]);
		}
		printf("\n");
		}
		else
		{
			printf("0\n");
		}
		
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 609