把问题转化一下,现在我们把问题转化下,把删掉n位数,看成保留 长度-n 位数这样我们直接每次选最小的就行了(用字符串保存初始数据)。
比如53421 删除2位。那么就在前3位也就是(534)中找最小值(ps:这里为什么要从前3位找呢?因为删两位所以要保留3位在前3位中找就算找到了第3位后面也还有两位可以保证最后存在3个数字)现在我们找到了其中的第2位数字3.然后从3的下一位也就是4开始找,现在在(42)中找最小,找到2,最后从2后面为找。此时只剩一位数了最后当然是1了;
给点数据你们理解下
478531 4//先在478中找到4,然后在785中找到了5,然后在3中找到了3,然后在1中找1;
4531
45781 3 //先在4578中找到4,然后在5781中找到1
41
45817 3//先在4581中找到1,然后在7中找到7
17
原理是一个整数位数越高的数取的越小整个数就越小。。。。这个能理解吧。。。
关于这个东西可能出现450781 3这种数据这件事
这个数据的结果是71.。。。
原数应该是071,但是提示说不输出前导0
下面上代码
#include <stdio.h>
#include <string.h>
int main()
{
char c[105];//输入原