在整数中删除数字,使得余下的数字按原次序组成的新数最小

#include<stdio.h>
#include<string.h>
int main()
{
	char a[30],min;
	int i,j,k,t,n,flag;
    while(1)
	{
	    printf("请输入一个29位以内的整数:");
		scanf("%29s",&a);
		printf("最终留下几位数?");
		scanf_s("%d",&n);
		j=strlen(a);
		t=0;
		flag=0;
		for(i=1;i<=n;i++)
		{
		    min=a[t];
			for(k=t+1;k<j-n+i;k++)
			{
			    if(flag==0)
				{
				    if(a[k]<min&&a[k]!=min&&a[k]!='0')
					{
					    min=a[k];
						t=k;
					}
				}				
				else
				    if(min>a[k]&&min!=a[k])
					{
					    min=a[k];
						t=k;
					}
			}
			flag=1;
			printf("%c",min);
			k=t;
			t=t+1;
		}
		printf("\n");
	}
}

你可能感兴趣的:(最小,原次序,删除数字,余下的数字,新数)