删数问题
键盘输入一个高精度的正整数N(此整数中没有‘0’),去掉其中任意s个数字后,剩下的数字按从左到右次序将组成一个新的正整数.编程对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小.
输入 n,s
输出 输出删数后的正整数.
【输入】
n
s
【输出】
最后剩下的最小数。
【样例输入】
175438
4
【样例输出】
13
这个是老师布置的原题目。我写了一个,但是有问题。谁帮俺改改,谢谢了!
#include
#include
#define M 10
main()
{int i,j,t=0,m,n;
char *p;
char b[M];
printf("input a string:");
gets(b);
m=strlen(b);
printf("input a data n=");
scanf("%d",&n);
if(m<=n)printf("error");
else
{p=b;
for(i=0;i
{if(*p>=*(p+1))
{for(j=0;j
{*p=*(p+1);
p++;
}
*p=0;
p=b;
t++;
if(t==n)break;}
else p++;}
p=b;}
for(i=0;i
printf("%d",*p);
getch();
}