首页 > 编程语言 >基础C++程序题的基础归纳Ⅲ

基础C++程序题的基础归纳Ⅲ

时间:2023-04-04 20:45:10浏览次数:46  
标签:输出 归纳 基础 C++ 金片 小时 字符串 格式 输入

基础C++程序题的基础归纳Ⅲ

1、去重排序

题目描述

ZN 想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了 N 个 1 到 1000 之间的随机整数(N≤100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助 ZN 完成 “去重” 与“排序”的工作。

输入格式

输入数据有多组,每组测试数据有 2 行,第 1 行为 1 个正整数,表示所生成的随机数的个数:N

第 2 行有 N 个用空格隔开的正整数,为所产生的随机数。

 

 

输出格式

对于每组测试实例,输出 2 行,第 1 行为 1 个正整数 M,表示不相同的随机数的个数。第 2 行为 M 个用空格隔开的正整数,为从小到大排好序的不相同的随机数。

 

 

 

2、薪资问题

题目描述

编写一个程序,计算员工的周薪。薪水的计算是以小时为单位,如果在一周的时间内,员工工作的时间不超过 40 个小时,那么他 / 她的总收入等于工作时间乘以每小时的薪水。如果员工工作的时间在 40 到 50 个小时之间,那么对于前 40 个小时,仍按常规方法计算;而对于剩余的超额部分,每小时的薪水按 1.5 倍计算。如果员工工作的时间超过了 50 个小时,那么对于前 40 个小时,仍按常规方法计算;对于 40~50 个小时之间的部分,每小时的薪水按 1.5 倍计算;而对于超出 50 个小时的部分,每小时的薪水按 2 倍计算。请编写一个程序,输入员工的工作时间和每小时的薪水,然后计算并显示他 / 她应该得到的周薪。

输入格式

输入数据有多组,每组数据只有一行,包括一个整数和一个实数,分别表示工作时间和每小时薪水。

 

 输出格式

对于每组数据,输出只有一个实数,表示周薪,保留小数点后 2 位

 

 第1第2题:由于输入数据有多组,示例只是其中一种情况,需用while循环

 

3、消除字符串雷同

题目描述

编写一个程序,先输入一个字符串 str(长度不超过 20),再输入单独的一个字符 ch,然后程序会把字符串 str 当中出现的所有的 ch 字符都删掉,从而得到一个新的字符串 str2,然后把这个字符串打印出来。

输入格式

输入有两行,第一行是一个字符串(内部没有空格),第二行是一个字符。

输出格式

输出一行,表示经过处理后的字符串。

 

 

要考虑到空串的情况,若第一个字符串为空串,用cin会使第二个字符赋值给了s1,使s2无法输入,因此用getline直接读取。

 

4、字母转换

题目描述

先编写函数 EncryptChar, 按照下述规则将给定的字符 c 转化(加密)为新的字符:"A" 转化 "B","B" 转化为 "C",... ..."Z" 转化为 "a","a" 转化为 "b",... ..., "z" 转化为 "A",其它字符不加密。编写程序,加密给定字符串。

输入格式

输入为一行,表示转换前的字符串。

 

输出格式

输出仅一行,表示加密后的字符串。

 

 

思路:

除“z”转化为“A”和“Z”转化为“a”外,其他均输出输入字母的后一个,并区分大小写,所以其他可以调用isalpha函数。

 

5、汉诺塔问题

题目描述

法国数学家爱德华 · 卢卡斯曾编写过一个印度的古老传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的 n 片金片。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽。而我们现在想知道,移动这 n 片金片,需要多少步。

给这三个宝石针分别标号为 A B C , 初始状态下所有的金片都在 A 上,目的是将 A 上的所有金片移动到 C 上。

编程设计算法,输出每一步的搬运过程。

输入格式

包含一个整数,表示金片的个数。

 

输出格式

输出多行,每行表示搬运一个金片的详细过程。

例如: 1 A C 。 表示将编号为 1 的金片直接从 A 移到 C(编号从1开始)

 

思路:

区分n=1和n>1两种情况,n=1时,金片直接从A移到C;n>1时,先把上面n-1个金片从A移到B作为过渡(递归),再把最下面一个金片从A移到C,再将B上的金片移到C(递归)。

标签:输出,归纳,基础,C++,金片,小时,字符串,格式,输入
From: https://www.cnblogs.com/xiiiiiiyuan/p/17287838.html

相关文章

  • C#语言基础(属性和方法)
    类的成员:属性和方法,属性一般不能“动”,方法一般指行为。1.属性:属性是一种访问对象或类的特性的成员属性的声明方式:1.)私有(不能在类外以及类以外的函数调用):privatestringname;2.)公共(在类中和类外都能调用的属性):publicstringName{get{returnname;}......
  • 为虚幻引擎C++项目设置Visual Studio开发环境 | 虚幻引擎5.1文档 (unrealengine.com)
    设置VisualStudio设置VisualStudio以使用虚幻引擎的提示、技巧和技术Beginner本页面的内容版本兼容性新安装VisualStudio时的选项推荐设置虚幻引擎(简称UE) 能与 VisualStudio(简称VS) 完美结合,使你能够快速、简单地改写项目代码,并能即刻查......
  • C++多态
    多态是C++面向对象最主要的特性之一,多态即多种形态,多个不同对象对同一事物会产生不同状态多态的实现1.虚函数重写实现多态的必要条件是虚函数,父类中有虚函数,子类重写虚函数,实现同一对象的不同表达方式。2.多态的要求 (1、被调用的函数必须是虚函数,子类对父类的虚函......
  • 基础_002_常量
    一、数值常量1、常见数值常量   65535、37         //十进制整型,默认   012、-023         //八进制整型,0开头,每一位只能0~7   0x3a、0X22F       //十六进制整型,0x或0X开头,每一位只能0~9或A~F   123u、46U         //无符号整......
  • 基础_003_转义字符
       转义字符必须以“\”开头,常用的转义字符见下表。转义字符功能或输出结果\f换页,将当前位置移到下页的开头\v垂直制表符\a响铃\n换行,将当前位置移到下一行的开头\r回车,将当前位置移到本行开头\t水平制表符,将当前位置移到下一个tab位置\b退格,将当前位置后退一个字符\'输出一个......
  • Java基础(四)
    网络编程网络编程概述:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络编程操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统网络编程在网络通信协议下,实现网络互联的不同......
  • VsCode安装和配置c/c++环境
    vscode是代码编译器,同时它提供了许多插件,可以帮助你方便的编写代码。通过配置vscode的开发环境,可以实现多种语言编译。总而言之,装了一个vscode就相当于装了多个IDE(集成开发环境)。后面,我们编写C语言代码就要依靠vscode了。一、下载vscode网址:VisualStudioCode-CodeEditing.......
  • C++实现AES加密
    参考https://zhuanlan.zhihu.com/p/567141666本人开发环境:vs2022,平台工具集vs2015(v140)要做到的如下图需要下载Cryptopp库https://github.com/weidai11/cryptopp打开默认工程,生成即可,选择cryptlib项目点击生成,产生头文件和lib文件实现代码:#include<Cryptopp/aes.h>#i......
  • 深度学习基础-pytorch1
    DataSetDataLoaderTorchvision数据读取训练开始的第一步,首先就是数据读取。PyTorch为我们提供了一种十分方便的数据读取机制,即使用Dataset类与DataLoader类的组合,来得到数据迭代器。在训练或预测时,数据迭代器能够输出每一批次所需的数据,并且对数据进行相应的预处理与......
  • 【C++学习笔记】关于const int* 、 int const * 、 int* const
    constint*、intconst*、int*const的关键点在于const与*的位置,而const与类型int的位置无关,可以随意调换,属于个人代码风格,不过建议写成constint*,方便直观。constint*与int*const的区别在于const修饰的是int*还是变量,其中constint*a修饰的是int*,表示这个......