
C++
kongds1999
学到老活到老,学不到老你还想活到老
展开
-
华为机试-密码验证合格程序
描述密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有相同长度大于2的子串重复输入描述:一组或多组长度超过2的字符串。每组占一行输出描述:如果符合要求输出:OK,否则输出NG示例输入:021Abc9000021Abc9Abc1021ABC9000021$bc9000输出:OKNGNGOK代码:#include<iostream>#include<vector>#include<qu原创 2021-06-15 23:51:17 · 241 阅读 · 0 评论 -
华为机试-句子逆序
描述将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”所有单词之间用一个空格隔开,语句中除了英文字母外,不再包含其他字符输入描述:输入一个英文语句,每个单词用空格隔开。保证输入只包含空格和字母。输出描述:得到逆序的句子输入:I am a boy输出:boy a am I代码:#include<iostream>#include<vector>#include<string>u原创 2021-06-12 22:38:43 · 216 阅读 · 0 评论 -
华为机试:质数因子
描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质因子(重复的也要列举)(如180的质因子为2 2 3 3 5 )最后一个数后面也要有空格输入描述:输入一个long型整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。示例1输入:180输出:2 2 3 3 5#include<iostream>#include<cmath>using namespace std;bool isPrime(原创 2021-06-10 22:27:18 · 199 阅读 · 0 评论 -
华为机试-进制转换
描述写出一个程序,接受一个十六进制的数,输出该数值的十进制表示。输入描述:输入一个十六进制的数值字符串。注意:一个用例会同时有多组输入数据,请参考帖子https://www.nowcoder.com/discuss/276处理多组输入的问题。输出描述:输出该数值的十进制字符串。不同组的测试用例用\n隔开。输入:0xA0xAA输出:10170第一种解法:字符串直接处理#include<iostream>#include<string>usi原创 2021-06-10 00:38:53 · 245 阅读 · 0 评论 -
华为机试-字符串子序列
判断字符串子序列给定字符串target和source,判断target是否为source的子序列。你可以认为target和source 中仅包含英文小写字母,字符串source可能会很长,长度~=500,000,而target是个短字符串,长度<=100。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串,例如,'abc’是’aebycd’的一个子序列,而’ayb’不是。请找出最后一个序列的起始位置。示例输入:abcabcaybec示例输出:原创 2021-06-09 23:34:39 · 4275 阅读 · 0 评论 -
华为机试-素数之积
**题目:**RSA加密算法在网络安全世界中无处不在,它利用了极大整数因数分解的难度,数据越大,安全系数越高,给定一个32位整数,请对其进行因数分解,找出是哪两个素数的乘积。#include<iostream>using namespace std;bool isPrime(int s) { if (s <= 1) return false; for (int i = 2; i <= sqrt(s); i++) { if (s % i == 0) return f.原创 2021-06-09 22:11:48 · 6996 阅读 · 3 评论 -
C++引用
从逻辑上讲,引用就是一个别名。如下面这两句代码:int someInt = 5;int &sInt = someInt;定义一个整型变量someInt,第二行则是定义了一个引用sInt,此时rInt和someInt对同一块内存空间的访问待遇是等同的。如下图:现在sInt和someInt都是对这一变量的称呼。如果我们想改变这块内存中变量的值,可以对someInt直接重新赋值。如:someInt = 10;cout<<sInt<<" "&原创 2021-05-19 21:26:32 · 163 阅读 · 0 评论 -
C/C++全局变量、局部变量、静态变量和常量在内存中的分配
问题:全局变量、局部变量、静态变量和常量在内存中的区别?问集中变量在内存中的区别,首先我们要知道一个C/C++程序在运行时内存的布局是什么样的,如下图:一个运行的程序在内存中主要表示为这四种空间区域。那这几种控件区域存储的是什么?代码区:存放的是程序的执行代码(编译后的二进制代码)。全局数据区:存放全局变量、静态变量、常量和文字量(文字量和常量有区别的)。堆区:存放动态内存,供程序随机申请使用。C的malloc、free,C++的new和delete内存分配就是在堆中进行。栈.原创 2021-05-19 19:53:17 · 666 阅读 · 0 评论 -
C++编程练习-员工上下班
// 输入N个员工,每个员工输出ID号,上班时间,下班时间,// 第一行输出最早到的员工的ID和上班时间// 第二行输出最迟走的员工的ID和下班时间// 第三行输出工作时间最久的员工的ID和上班时间#include<iostream>using namespace std;// 定义时间结构体struct time{ int hour; int min; int sec;};// 定义员工结构体 struct member{ char id[50]; .原创 2021-03-04 00:29:19 · 747 阅读 · 1 评论 -
C++编程练习 - 关羽过关斩将
题目:关羽过五关斩三将,输入四个人的武力值(大于0小于50),若超过界限需要重新输入关羽的武力值为x,将士武力值为y,满足(x-y)^2 + (x-y) + 41若为素数则关羽胜,若关羽三次获胜输出WIN,若失败则输出失败的将领序号(第几关)。#include<iostream>using namespace std;bool judge(int n) { // 判断战力值是否在界限内 if (n > 0 && n < 50) return.原创 2021-03-02 22:55:07 · 696 阅读 · 0 评论 -
数据结构--C++双链表
双链表的实现与单链表其实差不太多,只不过在双链表中,除了首尾结点,每个结点都有一个前驱和一个后继结点,本篇只谈论简单的实现双链表的基本功能,回了之后其实在向别的地方拓展也很容易了。//created by kong 2020-03-29#include<iostream>using namespace std;template <typename T>str...原创 2020-03-29 20:29:27 · 404 阅读 · 0 评论 -
C++复习笔记--异常处理
C++语言异常处理机制的基本思想是将异常的检测与处理分离。C++使用throw和try-catch语句支持异常处理,分以下三步:(1)检查异常(使用try语句块)。(2)抛出异常(使用throw语句块)。(3)捕捉异常(使用catch语句块)。throw 表达式;try { 被检查的语句;}catch(异常信息类型){ 进行异常处理的语句;}看例子最容易...原创 2019-12-23 19:35:57 · 717 阅读 · 0 评论 -
蓝桥--数列排序
问题描述: 给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200输入格式 第一行为一个整数n。 第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。输出格式 输出一行,按从小到大的顺序输出排序后的数列。样例输入58 3 6 4 9样例输出3 4 6 8 9————————————————问题分析:按照题的要求...原创 2019-11-24 21:56:07 · 295 阅读 · 0 评论 -
蓝桥--十进制转十六机制
问题描述:十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。 给出一个非负整数,将它表示成十六进制的形式。输入格式 输入包含一个...原创 2019-11-24 12:46:29 · 644 阅读 · 0 评论 -
蓝桥--杨辉三角形
问题描述:杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前4行: 1 1 1 1 2 1 1 3 3 1 给出n,输出它的前n行。输入格式输入包含一个数n。输出格式输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。...原创 2019-11-23 21:10:29 · 499 阅读 · 0 评论 -
C++编程入门--谜一样的循环体
#include <iostream>using namespace std;int main() { int n; cout<<"输入行数:"; cin >> n; for (int i = 1; i <= n; i++) { for (int j = 1; j <= i - 1; j++) cout << "...原创 2019-11-20 19:26:36 · 133 阅读 · 0 评论 -
C++编程入门--使用MFC创建一个简单的计算器程序
运行环境:Visual Studio 20131、创建基于对话框的MFC应用程序第一步:打开Visual Studio 2013,单击“新建项目”,弹出“新建项目”对话框; 选择“MFC应用程序”模板 输入项目名称:SimpleDialogMfc 单击“确定”按钮第二步:单击“下一步”按钮第三步:选择新建的MFC应用程序项目的类型单击“基于对...原创 2019-11-20 12:38:59 · 3675 阅读 · 0 评论 -
数据结构--C++单链表
废话不多说,直接上代码,包括C++实现单链表的创建销毁、插入、删除、求长度,取元素值等基本操作//created by kong at 2019-11-17#include<iostream>using namespace std;template<typename T>struct LinkList{ //单链表结点类型 ...原创 2019-11-17 16:28:38 · 392 阅读 · 0 评论 -
C++编程入门--数组类重载运算符
//created by kong at 2019-11-07#include<iostream>using namespace std;const int MAX = 10; //数组大小class Array{ double *data; //动态数组public: Array(); ~Array(); double &am...原创 2019-11-07 15:36:53 · 883 阅读 · 0 评论 -
C++编程入门--日期类重载运算符
题目:定义日期类Date,包括年、月、日3个成员变量,在其中重载运算符“+”,“-”,“++”,“--”。(注意:需要考虑每个月不同天数及闰年问题)。题目为《面向对象程序设计》(C++语言)--李爱华程磊教材第七章课后题好的,我们来分析一下题目,对类的声明进行功能定向,一个是对四个运算符的重载,这里我们遵循C++封装的特性,采用重载为成员函数的方法。形如:Toperator ...原创 2019-11-04 18:36:11 · 1527 阅读 · 0 评论 -
C++编程入门--矩阵类重载运算符
题目:定义3×3矩阵类Matrix,在其中重载运算符“+”、“-”、“*”,实现矩阵的基本运算。首先,我们先确定这个矩阵类的基本功能,我们来声明其成员函数的功能,列出来如下:#include<iostream>using namespace std;class Matrix{ //矩阵类private: int row, column; /...原创 2019-11-04 12:51:15 · 10975 阅读 · 3 评论 -
C++编程入门--运算符重载复数类
题目:成运算符重载员函数形式实现复数类的四则运算上机指导2中,我们以独立函数形式(非成员函数,非友元函数)实现了Complex附属类的加减乘除四则运算,这里要求用Complex成员函数形式实现Complex对象的加减乘除运算。 Complex类的基本定义形式如下(仅供参考) class Complex{ ...原创 2019-11-03 10:49:27 · 1221 阅读 · 0 评论 -
C++编程入门--抽象类
题目:编程定义抽象类Shape,由它派生出5个派生类Circle(圆形),Square(正方形),Rectangle(矩形),Trapezoid(梯形),Triangle(三角形)。用虚函数分别计算几种图形的面积,并求他们的和。要求:用基类指针数组,使它每一个元素指向一个派生类对象。首先,我们来通俗了解一下什么是抽象类,包含有纯虚函数的类是抽象类什么又是纯虚函数,在之前的文章我们说过了虚...原创 2019-10-28 17:03:25 · 996 阅读 · 0 评论 -
C++编程入门--动态绑定虚函数
上一篇博文我们提到,多态的分类可分为:编译时多态(静态绑定)、运行时多态(动态绑定),本篇就是讲解实现动态绑定的虚函数问题。首先,虚函数必须存在于类的继承环境之中才有意义,声明函数的方法很简单,只要在积累的成员函数名前加上关键字virtual即可,格式如下:class 类名{...virtual 函数类型 成员函数名(参数表)...}当一个类的成员函数被声明为虚函数后,就可以在该...原创 2019-10-21 19:49:25 · 390 阅读 · 0 评论 -
C++编程入门--多态性
在C++中,对于多态性,一个要解决的主要问题就是如何把具体的操作和对象进行绑定(binding),也称联编,关联,绑定指得是程序如何为类的对象找到执行操作函数的程序入口的过程。。从系统实现的角度来看,多态可以分为编译时多态和运行时多态:本篇主要讲编译时的多态:在程序编译过程中时决定同名操作与对象的绑定关系,也称静态绑定、静态联编,典型的技术有函数重载、运算符重载、模板。 由于这种方式是在程序运行...原创 2019-10-21 15:55:52 · 207 阅读 · 0 评论 -
C++编程入门--循环体利用
用循环体要画出下列图形:我们可以先写出对应的外循环形式:for (int i = 1; i <= 10; ++i){ //输出若干空格 //输出若干字符 //换行}如果要输出A起头依序的n(n<27)个字母,我们可以:for (int i = 1; i <= 10; ++i){ cout << char('A'+i-1)}或者for (c...原创 2019-10-02 09:57:09 · 381 阅读 · 0 评论 -
C++编程入门--多文件编程、类与对象的定义
多文件编程–客户端信息访问考察知识点:熟悉掌握Visual Studio的编程方法,开始练习多文件编程的实现。一般C++程序文件包括三个部分:类的声明、类的成员函数的实现以及主函数,实际开发时,代码量较大,一个程序结构至少分为三个文件:即类的声明文件(类名.h)、类的实现文件(类名.cpp)、主函数文件(使用类的功能)(1) 创建“客户端对象信息访问”的项目文件。(2) 创建类声明的头文件,...原创 2019-10-02 10:25:25 · 697 阅读 · 0 评论 -
C++求1!+2!+3!+...+20!的值
在这个跟问题里涉及到的最大的问题就是数值范围问题,那么在C++整型数据的范围是多少呢?详情参见下表:类型名称及所占字节数值的范围int(4)-2,147,483,648 到 2,147,483,647unsigned int(4)0 到 4,294,967,295unsigned short int(2)0 到 65,535long int(4)-...原创 2019-10-02 15:38:30 · 16315 阅读 · 2 评论 -
C++编程入门--多文件编程、类的定义和使用
复数的四则运算:#pragma once//Complex.h文件class Complex{private: float imag; float real;public: Complex(); void set(float r, float i); void get(); Complex add(Complex x); Complex sub(Complex x);...原创 2019-10-04 15:46:35 · 2001 阅读 · 0 评论 -
C++编程入门--对称素数
题目:编程求所有的3位对称素数。所谓对称是指一个数,倒过来还是它本身,三位素数是指个位和百位相同。#include<iostream>using namespace std;bool isprime(int a) //定义一个判断素数的函数{ for (int i = 2; i < a; i++) { if (a%i == 0) return fal...原创 2019-10-08 17:03:43 · 2184 阅读 · 1 评论 -
C++编程入门--循环体运用
要画出下列图案:MMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMM MMMMMMMMMMMMM MMMMMMMMMMM MMMMMMMMM MMMMMMM M...原创 2019-10-08 22:49:02 · 438 阅读 · 0 评论 -
C++编程入门--对象数组
一个数组中所有元素属于同一种数据类型,一个数组的类型除了可以为基本的数据类型外,还可以为类类型。所谓对象数组是指每一数组元素都是对象的数组,也就是说,若一个勒种有若干个对象,可以把这一系列的对象用一个数组来存放。对象数组的定义格式为:类名 数组名 [数组大小];例如:Student stu [3];即为定义类Student的对象数组stu。系统调用无参构造函数3次。如果类Studen...原创 2019-10-10 16:37:44 · 701 阅读 · 0 评论 -
C++编程入门--求水仙花数
C++编程入门--求水仙花数【C++程序设计教程第二版–钱能】编程求所有的“水仙花数”(narcissus number)。所谓的“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153是水仙花数,因为153=13+53+33。#include<iostream>using namespace std;int main(){ cout << "三...原创 2019-10-01 23:52:34 · 2443 阅读 · 0 评论