输入一个大数字(例如:4521689),再输入一个小点的数字(例如:4)。在这个4521689中删除4个数字,使得留下的数字最小,本题的话,结果应该为:168
再如:65192264 输入4
得到:1224
关于0的问题,他没有提到,比如563012 输入3,应该得到012呢还是301。这个问题我不清楚,所以也一直不会做。
删数问题
键盘输入一个高精度的正整数N(此整数中没有‘
输入 n,s
输出 输出删数后的正整数.
【输入】
n
s
【输出】
最后剩下的最小数。
【样例输入】
175438
4
【样例输出】
13
#include <stdio.h>
#include <string.h>
#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<m-n;i++)
{if(*p>=*(p+1))
{for(j=0;j<m-i-1;j++)
{*p=*(p+1);
p++;
}
*p=0;
p=b;
t++;
if(t==n)break;}
else p++;}
p=b;}
for(i=0;i<m-n;i++,p++)
printf("%d",*p);
getch();
}
[此贴子已经被作者于2006-5-13 11:46:35编辑过]