问题链接:http://bailian.openjudge.cn/practice/4137
Note:
本题“每个数位上数字均不为0”所以无需考虑去0问题,否则要注意考虑。
描述
给定一个十进制正整数n(0 < n < 1000000000),每个数位上数字均不为0。n的位数为m。
现在从m位中删除k位(0<k < m),求生成的新整数最小为多少?
例如: n = 9128456, k = 2, 则生成的新整数最小为12456
输入
第一行t, 表示有t组数据;
接下来t行,每一行表示一组测试数据,每组测试数据包含两个数字n, k。
输出
t行,每行一个数字,表示从n中删除k位后得到的最小整数。
样例输入
2 9128456 2 1444 3
样例输出
12456 1
#include<cstdio>
#include<iostream>
#include<cstring>
using namespace std;
int main(){
int t, k, m;
char str[20];//数字n ,有m位
cin >> t;
while(t--){
cin >> str >> k;
m = strlen(str);
while(k--)
{
//注意字符串去尾的问题,没有改变字符串长度却能够输出不超过m的