我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C++中怎么保留最大的数

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C++中怎么保留最大的数

本篇内容介绍了“C++中怎么保留最大的数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

题目描述

给定一个十进制的正整数number,选择从里面去掉一部分数字,希望保留下来的数字组成的正整数最大。 

输入描述

输入为两行内容,第一行是正整数number,1 ≤ length(number) ≤ 50000。第二行是希望去掉的数字数量cnt 1 ≤ cnt 

输出描述

输出保留下来的结果。

示例 

输入

325 1 

输出

35

解析

在一个整数中除去几位数字后剩余的数最大。这题的关键就在于我们如何去选择去掉的数字,也就是去掉数字的标准是什么。小白一幵始觉得除去最小的那几位数就可以了,但是这种想法是不对的。例如3120,如果去掉0为312,但是如果去掉1,则是320,要比312要大因此,我们可以判定,单纯的去掉最小的数是不对的。

正确的想法是去掉“比后一位”小的那位数,如果没有比后一位小的数(也就是整个数每一位都是递增的数),直接去掉最后一位;因为需要刪除数,因此使用list容器更加合理一些,而且list允许在首端插入,更加支持了用除以10余数的方法获取取每一位数。这里面要注意一个问题,就是每次只能去掉一个数,之后需要重新去寻找第—个比后一位小的数。

代码

#include <iostream>
#include <list>
using namespace std;
int main()
{
 int number, cnt;
 while (cin>>number>>cnt)
 {
   list<int> Lnumber;
   while (number/10!=0)
   {
     Lnumber.push_front(number % 10);
     number = number / 10;
   }
   Lnumber.push_front(number);
   for (int i =0; i < cnt; i++)
   {
     for (auto  m = Lnumber.cbegin(); m != Lnumber.cend(); m++)
     {
       if (m==(--Lnumber.cend()))
       {
         m = Lnumber.erase(m);
         break;
       }
       auto n = m;
       if (*m<*(++n))
       {
         m = Lnumber.erase(m);
         break;
       }
     }
   }
   int lastnumber = 0;
   for (auto m:Lnumber)
   {
     lastnumber = lastnumber * 10 + m;
   }
   cout << lastnumber << endl;
 }
 return 0;
}

“C++中怎么保留最大的数”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C++中怎么保留最大的数

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C++中怎么保留最大的数

本篇内容介绍了“C++中怎么保留最大的数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!题目描述给定一个十进制的正整数number,选择从里面
2023-06-19

c++中除法怎么保留小数

在 c++ 中除法保留小数需要:声明浮点数变量。将除数和被除数强制转换为浮点数。使用 printf() 或 cout 函数打印浮点数结果并指定小数位数。如何在 C++ 中除法保留小数在 C++ 中进行除法运算时,结果默认会被截断为整数,舍
c++中除法怎么保留小数
2024-05-12

c++中除号怎么保留小数

在 c++ 中使用除号除整数时,结果为整数,要保留小数,需将一个操作数转换为浮点数。方法有:1. 将其中一个操作数转换为浮点数;2. 使用 static_cast;3. 使用 double 类型。如何用 C++ 除法保留小数在 C++ 中
c++中除号怎么保留小数
2024-05-12

c++怎么保留有效位数

在C++中,可以使用以下方法保留有效位数:使用iomanip库中的setprecision函数来设置精度。setprecision(n)将精度设置为n位。#include #include int main() {double num
c++怎么保留有效位数
2023-10-28

c++怎么保留两位小数

在 c++ 中保留两位小数的方法包括:1. 使用格式化字符串,如 fixed 和 setprecision;2. 使用流操作符,如 setw 和 setprecision;3. 使用数学函数,如 round 和 floor。如何在 C++
c++怎么保留两位小数
2024-05-14

c语言怎么保留整数

在 c 语言中,保留整数的方法有:使用 printf() 或 fprintf() 函数,指定格式说明符 %d。使用 % 运算符取模,保留特定位数。使用位掩码,保留特定位。使用浮点数类型,精度更高,可保留更多位数。如何使用 C 语言保留整数
c语言怎么保留整数
2024-05-14

c++中怎样保留两位小数

在 c++ 中保留两位小数的方法是:使用流操作符 fixed 指定固定点表示法。使用 setprecision(2) 指定小数点后保留 2 位。在 C++ 中保留两位小数在 C++ 中保留两位小数的方法是使用流操作符 fixed 和 se
c++中怎样保留两位小数
2024-04-26

c语言中怎么保留两位小数

在 c 语言中,要保留两位小数,可以:声明一个浮点型变量。使用 printf() 函数打印浮点型变量。在格式化字符串中使用 %.2f 格式说明符。C 语言中如何保留两位小数在 C 语言中,可以通过使用 printf() 函数并指定小数位数
c语言中怎么保留两位小数
2024-04-27

c语言中怎么保留1位小数

在 c 语言中,保留一位小数的方法有:1. 使用固定小数点格式化“%.1f”;2. 使用 round() 函数四舍五入到一位小数;3. 使用定制化格式化指定保留一位小数。如何在 C 语言中保留一位小数在 C 语言中,保留一位小数可以使用以
c语言中怎么保留1位小数
2024-05-02

c++保留有效位数怎么实现

在C++中,可以使用std::setprecision函数来控制输出的有效位数。该函数位于头文件中。以下是一个示例代码:#include #include int main() {double number = 3.1415926535
2023-10-23

c语言怎么保留有效数字

在 C 语言中保留有效数字可以使用格式化输出函数 `printf()` 或者字符串处理函数 `sprintf()` 进行处理。1. 使用 `printf()` 函数保留有效数字:```c#include int main() { fl
c语言怎么保留有效数字
2024-02-29

c语言怎么保留两位小数

在 c 语言中,可以通过以下方法保留两位小数:使用 printf() 函数中的 "%.2f" 格式说明符。使用 round() 函数将数字乘以 100 并除以 100。使用 fixed-point 算术将数字乘以 100 并转换为整数。C
c语言怎么保留两位小数
2024-05-13

c++怎么保留两位小数输出

如何保留两位小数输出?在 c++ 中使用 fixed 和 setprecision() 函数:1. #include & ; 2. fixed 确保固定小数点;3. setprecision(2) 设置小数位数为 2;4. cout 如何
c++怎么保留两位小数输出
2024-05-14

C++中double类型怎么保留三位小数点

这篇文章主要介绍“C++中double类型怎么保留三位小数点”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C++中double类型怎么保留三位小数点”文章能帮助大家解决问题。我以一个例子作为讲解:已
2023-06-27

c语言中怎么保留两位小数输出

c语言中保留两位小数输出:使用printf()函数;指定格式化说明符%.2f,表示浮点数保留小数点后两位。C语言中保留两位小数输出在C语言中,使用printf()函数进行格式化输出,我们可以通过指定格式化说明符来控制小数位数。对于保留两位
c语言中怎么保留两位小数输出
2024-04-27

c语言中保留三位小数怎么表示

c语言中保留三位小数的方法:使用printf()函数;使用格式说明符%.3f,其中.后跟的数字指定小数点后位数,f表示浮点数。C语言中保留三位小数的表示方法在C语言中,可以通过格式化的输入/输出函数printf()来保留小数点后指定位数的
c语言中保留三位小数怎么表示
2024-05-02

MySQL大量脏数据,如何只保留最新的一条?

因为系统的一个Bug,导致数据库表中出现重复数据,需要做的是删除重复数据且只保留最新的一条数据。具体场景是这样的有张订单关联额外费用表,而且一个订单号(order_no)记录只能关联同一个费用(cost_id)一次,但是数据库中出现了同
2023-04-21

MySQL大量脏数据如何只保留最新的一条(最新推荐)

这篇文章主要介绍了MySQL大量脏数据,如何只保留最新的一条,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-16

java中怎么保留两位小数

java中保留两位小数的方法:1、使用DecimalFormat;2、使用String.format方法。在Java中保留两位小数可以使用DecimalFormat类或者使用String.format方法。1、使用DecimalFormat
2023-08-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录