C++新手入门实例
C++入门最需要的是练习,好的实例往往可以助你一臂之力,本专栏将持续为大家提供由浅入深的C语言实例。专栏中实例来自各大C++教材及各大OJ平台中的经典题目。实例+讲解让你更加深入学习C语言。
mengke.me
呼啦啦
展开
-
PAT (Basic Level) Practice (中文) | 1004 成绩排名
读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩 ... ... ...第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串...原创 2019-01-29 23:35:35 · 174 阅读 · 0 评论 -
PAT (Basic Level) Practice (中文) | 1003 我要通过!
“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符; 任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串; 如果 a...原创 2019-01-29 23:09:12 · 168 阅读 · 0 评论 -
PAT (Basic Level) Practice (中文) | 1002 写出这个数
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100。输出格式:在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789输出样例:...原创 2019-01-28 23:40:48 · 146 阅读 · 0 评论 -
PAT (Basic Level) Practice (中文) | 1001 害死人不偿命的(3n+1)猜想
卡拉兹(Callatz)猜想:对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。卡拉兹在 1950 年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证 (3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国...原创 2019-01-28 23:26:27 · 147 阅读 · 0 评论 -
YTUOJ——输入一个不多于5位的正整数,要求: (1)求出它是几位数; (2)分别输出每一位数字; (3)按逆序输出各位数字。
题目描述输入一个不多于5位的正整数,要求: (1)求出它是几位数; (2)分别输出每一位数字; (3)按逆序输出各位数字。输入输入一个不多于5位的正整数。输出输出数据有3行,第一行为正整数位数,第二行为各位数字,第三行为逆序的各位数字。样例输入123样例输出31 2 33 2 1答案#include <stdio.h>int ma...原创 2018-12-12 14:36:30 · 10075 阅读 · 1 评论 -
YTUOJ——C语言实验——矩阵下三角元素之和
题目描述输入一个正整数n(1<=n<=10),再输入n*n的矩阵,要求求该矩阵的下三角元素之和。输入输入包括n+1行 第一行为整数:n 接下来的n行为矩阵数据输出矩阵的下三角元素之和样例输入51 2 3 4 52 3 4 5 63 4 5 6 74 5 6 7 85 6 7 8 9样例输出75答案#include<st...原创 2018-12-12 14:31:16 · 834 阅读 · 0 评论 -
YTUOJ——处理成绩(c++类训练)
题目描述小平帮老师处理期末成绩时遇到了问题。他需要计算每个同学的平均成绩,并判断他们是否通过了期末考试不及格成绩(<60),若都通过才能pass,若没通过要说明是哪几科未通过。因此他需要两个函数,一个求平均成绩(不考虑小数),另一个判断是否通过考试,通过输出pass,否则输出未通过的科目。请你们帮帮他!期末包括Chinese,Math,English三门课程。输入输入学号,并...原创 2018-12-05 23:22:00 · 388 阅读 · 0 评论 -
YTUOJ——多态--动物叫
题目描述/*利用抽象基类来完成派生类dog和cat的定义,并利用指向基类的指针实现动态多态,输出不同类型动物的不同叫声。请在下面的程序段基础上完成设计,只提交begin到end部分的代码*/#include <iostream>using namespace std;class animal //抽象基类---动物类{public:virtu...原创 2018-12-05 22:28:13 · 323 阅读 · 0 评论 -
YTUOJ——C++习题 多重继承
题目描述分别声明Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)类。要求: (1) 在两个基类中都包含姓名、年龄、性别、地址、电话等数据成员。(2) 在Teacher类中还包含数据成员title(职称),在Cadre类中还包含数据成员post(职务)。在Teacher_Cadre类中还包含数据成员wages(工...原创 2018-12-05 15:42:38 · 561 阅读 · 0 评论 -
YTUOJ——C++继承(改错题)
题目描述下面的程序中,存在着两处语法错误。请改正错误,使程序按下面输入输出的规定运行。只提交修改过的begin到end部分的代码。//******************** begin ********************#include <iostream>using namespace std;class A{private: int...原创 2018-12-05 15:04:41 · 553 阅读 · 0 评论 -
YTUOJ——C++ 长方体继承自矩形
题目描述如下的代码中,定义了Rectangle矩形类,在此基础上定义Bulk立方体派生类,请在(1)-(6)处填上需要的代码,使程序输出指定长、宽、高的立方体的体积。#include <iostream>using namespace std;class Rectangle //矩形类{private:int length; //矩形的长和宽int width;p...原创 2018-12-05 14:48:11 · 536 阅读 · 0 评论 -
YTUOJ——C++习题 输入输出--私有继承
题目描述Student类含有私有数据成员:num,name,sex,公有成员函数: 输入函数get_value()和输出函数display()。采用私有继承方式实现类Student1,增加数据成员:age,addr,成员函数:get_value_1()和display_1()。在程序运行时输入num,name,sex,age,addr的值,调用输出函数输出以上5个数据的值。输入输入nu...原创 2018-12-05 14:39:42 · 625 阅读 · 0 评论 -
YTUOJ——继承 圆到圆柱体
题目描述定义了Circle圆形类,在此基础上派生出Cylinder圆柱体类。Circle圆形类定义如下:class Circle{public:Circle(double r):radius(r){ }double area(){return PI*radius*radius;} //圆面积protected:double radius; //圆半径 };请在下...原创 2018-12-05 15:04:54 · 523 阅读 · 0 评论 -
YTUOJ——C++习题 输入输出--公用继承
题目描述Student类含有私有数据成员:num,name,sex,公有成员函数: 输入函数get_value()和输出函数display()。采用公用继承方式实现类Student1,增加数据成员:age,addr,成员函数:get_value_1()和display_1()。在程序运行时输入num,name,sex,age,addr的值,调用输出函数输出以上5个数据的值。输入输入nu...原创 2018-12-05 14:22:11 · 316 阅读 · 0 评论 -
YTUOJ——函数模板---求三个数中的中间值
题目描述利用函数模板求3个数中的中间值。在下述代码的基础上,完成设计,提交时,只需要提交缺失的代码。输入三个整数三个字符三个小数输出三个整数中的中间值三个字符中的中间值三个小数中的中间值样例输入1 3 2a b c2.2 3.3 1.1样例输出int:2char:bdouble:2.2答案#include <i...原创 2018-11-14 15:40:19 · 2399 阅读 · 0 评论 -
YTUOJ——函数模板--求n个数的和
题目描述利用函数模板求4个数的和。部分代码已给定如下,只需要提交缺失的代码。输入第一行4个字符第二行4个整数第三行4个小数输出第一行4个字符ascii的和第二行4个整数的和第三行4个小数的和样例输入abcd1 2 3 41.1 2.2 3.3 4.4样例输出1381011答案#include <iostream>us...原创 2018-11-14 15:39:27 · 1220 阅读 · 0 评论 -
YTUOJ——类模板---求数组的最大值
题目描述 类模板---求数组的最大值 找出一个数组中的元素的最大值,数组大小为10。(用类模板来实现) 数组元素类型作为类模板的参数。 在下面的程序段基础上完成设计,只提交begin到end部分的代码输入10个int型数据10个double型数据10个char型数据10gestring型数据 输出10个int型数据的最大值 10...原创 2018-11-14 15:38:22 · 630 阅读 · 0 评论 -
YTUOJ——C++ 习题 比较大小-类模板
题目描述声明一个类模板,利用它分别实现两个整数、浮点数和字符的比较,求出大数和小数。说明:在类模板外定义各成员函数。输入输入两个整数、两个浮点数和两个字符输出从大到小输出两个整数、两个浮点数和两个字符样例输入3 745.78 93.6a A样例输出7 393.60 45.78a A#include <iostream>#inclu...原创 2018-11-14 15:36:51 · 392 阅读 · 0 评论 -
C语言实现由遍历序列构造二叉树
程序需要包含二叉树的基本运算算法,我在之前的文章中已经写过,详见:C语言实现二叉树各种基本运算的算法#define "btree.cpp" //包含二叉树的基本运算算法,详见文章顶部链接#define MaxWidth 40/* 由中序遍历序列构造二叉树 */BTNode * CreateBT1( char * pre, char * in, int n ){ BTNod...原创 2018-11-13 11:22:54 · 3729 阅读 · 0 评论 -
C语言实现二叉树各种基本运算的算法
包含如下函数:CreateBTree( BTNode * &b, char * str ) : 由 括号表 示 串 str 创 建二叉链b ;FindNode( BTNode * &b, ElemType x ) : 返回data域 为 x的节点 指 针 ;LchildNode( BTNode * &p ) : 返回p节点的左孩子节点 指 针 ;Rchi...原创 2018-11-13 10:42:01 · 7009 阅读 · 0 评论 -
数据结构——C语言实现单链表各种基本运算的算法
linklist.cpp#include "stdio.h"#include "malloc.h"typedef char ElemType;typedef struct LNode{ ElemType data; struct LNode *next; //指向后继结点} LinkNode; //声明单链表节点类型 //头插法建立单链表void Create...原创 2018-10-16 11:39:49 · 8414 阅读 · 7 评论 -
YTUOJ——复仇者联盟之数组成绩统计
题目描述定义一个5行3列的二维数组,各行分别代表一名学生的高数、英语、C++成绩。再定义一个有5个元素的一维数组,用于存储每名学生的平均成绩。请输入学生的各门课成绩,输出带平均成绩的成绩单,以及所有学生平均成绩的平均值。输入15个整数,表示5名学生3科的成绩输出分5行显示每名学生的成绩及平均成绩再显示所有学生平均成绩的平均值(保留两位小数)样例输入97 78 87...原创 2018-11-14 15:16:13 · 216 阅读 · 0 评论 -
YTUOJ——数组排序
题目描述输入5个未排序的整数,对其进行排序,然后从大到小输出这5个数在下面代码的基础上完成,提交时只提交begin所在行和end所在行之间的代码。#include <iostream>using namespace std;int main(){ int a[5]; int i; for(i=0;i<5;i++) //为数组元素赋值ci...原创 2018-11-14 15:02:33 · 337 阅读 · 0 评论 -
YTUOJ——二维数组---杨辉三角
题目描述杨辉三角Description11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 1上面的图形熟悉吗?它就是我们中学时候学过的杨辉三角。输入一个正整数n(1≤n≤30),表示将要输出的杨辉三角的层数。输出输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开。样例输入4样例输出1 1 1 1 2 1 1 3...原创 2018-11-08 21:00:40 · 452 阅读 · 0 评论 -
YTUOJ——求二维数组中的鞍点【数组】
题目描述如果矩阵A中存在这样的一个元素A[i,j]满足条件:A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。请编程计算出m*n的矩阵A的所有马鞍点。输入输入m,n然后输入数组中的每个元素输出输出m*n的矩阵A的所有马鞍点样例输入3 31 7 35 4 617 18 9样例输出9答案#in...原创 2018-11-07 22:38:13 · 775 阅读 · 1 评论 -
YTUOJ——输入一个数插入有序数组中
题目描述已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。输入第一行,原始数列。第二行,需要插入的数字。输出排序后的数列样例输入1 7 8 17 23 24 59 62 10150样例输出17817 23 24 50 59 62 101答案#include "iostream"using name...原创 2018-11-07 22:10:46 · 319 阅读 · 0 评论 -
YTUOJ——写一个函数,使给定的一个二维数组(3×3)转置,即行列互换
题目描述写一个函数,使给定的一个二维数组(3×3)转置,即行列互换。输入一个3x3的矩阵输出转置后的矩阵样例输入1 2 34 5 67 8 9样例输出1 4 72 5 83 6 9 答案#include "iostream"using namespace std;void zhuangzhi(int a[3][3]){ int i,j...原创 2018-11-07 22:08:56 · 526 阅读 · 0 评论 -
YTUOJ——猴哥的日记本
题目描述猴哥去准备复习考研已经1月有余,但仍然禁不住游戏的诱惑,特别是WZRY,这款手游是卸了装,装了又卸。还时常中午约好友QQ一起对战。猴哥有个习惯,每安装一次WZRY,都会在日记本上记录一个字母G。每安装3次WZRY必然约QQ一起对战一次。小乌龟偶尔翻看了猴哥的日记本,问下次猴哥约QQ一起对战还需要再安装几次WZRY。输入一行字符,表示猴哥日记本的内容。输出猴哥需要安装WZ...原创 2018-11-07 22:06:33 · 211 阅读 · 0 评论 -
YTUOJ——小万的回文串
题目描述回文串是一个正读和反读都一样的字符串,例如,“z”,“aaa”,“abba”是回文串。小万嗜好回文串,见到一个字符串,就尝试将其转换为回文串。如果一个字符串最多改变一个字符后成为回文串,就成为可转换回文串,如,“ytu”,“ab” 是转换回文串,而“computer”既不是回文串,也不是可转换回文串。请编写一个程序判定任意一个由小写字母组成的字符串是否为回文串或可转换回文串。输入...原创 2018-11-07 22:05:21 · 292 阅读 · 0 评论 -
YTUOJ——矩形类中运算符重载【C++】
题目描述 定义一个矩形类,数据成员包括左下角和右上角坐标,定义的成员函数包括必要的构造函数、输入坐标的函数,实现矩形加法,以及计算并输出矩形面积的函数。要求使用提示中给出的测试函数并不得改动。 两个矩形相加的规则是:决定矩形的对应坐标分别相加,如 左下角(1,2),右上角(3,4)的矩形,与 左下角(2,3),右上角(4,5)的矩形相加,得到的矩形是 左下角(3,...原创 2018-10-17 23:00:10 · 547 阅读 · 0 评论 -
YTUOJ——Shape系列-1
题目描述小强开始迷恋彩色的Shape,于是决定做一个Shape类。Shape类有整型的数据成员color,求面积的成员函数area()。小强针对不知道千奇百怪的Shape如何求面积,于是就统一Shape的面积为10000。小聪看见小强做好的Shape类,决定用该类做两个形状出来,并测试其颜色和面积。但是小强没有为Shape类写构造函数和成员函数,请帮助小强完成Shape类。小强写的文件头和...原创 2018-10-17 23:02:42 · 516 阅读 · 0 评论 -
YTUOJ——Shape系列-2
题目描述小聪不喜欢小强的Shape类,声称用Shape类做出的形状不真实,于是小聪创建了Rectangle类,并且决定用该类做两个矩形出来,送给好朋友小亮。Rectangle类有整型的数据成员color(小强的Shape类中的color可以继续使用,无需新定义),浮点型的数据成员width和height,求面积的成员函数area()。但是小聪没有为Rectangle类写构造函数和成员函数,请帮...原创 2018-10-17 23:06:12 · 468 阅读 · 0 评论 -
YTUOJ——实现复数类中的加运算符重载【C++运算符重载】
题目描述int家有i1和i2弟兄俩,小手一拉i1+i2,加起来了;double家有d1和d2姐妹俩,小手也一拉,d1+d2,也加起来了。C++村子里来了复数(Complex)一家子,也有俩兄弟c1和c2,想要来个累加,笨乎乎地,c1.add(c2)。c1和c2伤心极了,也想像其他小朋友一样,小手一拉,c1+c2,也能加起来。这个任务交给了正在看题的魔术师,帮他们一个忙,让复数也能用+号相加吧。...原创 2018-10-25 11:16:28 · 581 阅读 · 0 评论 -
YTUOJ——复数类--重载运算符+
题目描述定义一个复数类Complex,重载运算符“+”,使之能用于复数的加法运算。将运算符函数重载为非成员、非友元的普通函数。编写程序,求两个复数之和。输入两个复数输出复数之和样例输入3 45 -10样例输出(8.00,-6.00i)提示前置代码及类型定义已给定如下,提交时不需要包含,会自动添加到程序前部/* C++代码 */#includ...原创 2018-10-25 11:28:46 · 292 阅读 · 0 评论 -
YTUOJ——类重载实现矩阵加法
题目描述编写矩阵类Matrix,实现两个2x3矩阵相加。主函数已给定。输入两个矩阵的元素值输出两个矩阵相加的结果样例输入<span style="color:#333333">1 2 34 5 61 2 34 5 6</span>样例输出<span style="color:#333333">2 4 68 10 1...原创 2018-10-25 11:30:34 · 473 阅读 · 0 评论 -
YTUOJ——复数类--重载运算符+,-,*,/
#include <iostream>#include <iomanip>using namespace std;class Complex{public: Complex(); Complex(double r,double i); Complex operator+(Complex &c2); Complex oper...原创 2018-10-25 11:33:06 · 277 阅读 · 0 评论 -
YTUOJ——长方柱类【C++ 类定义】
题目描述编写基于对象的程序,求长方柱(Bulk)的体积。数据成员包括长(length)、宽(width)、高(heigth)、体积,要求用成员函数实现下面的功能:(1)由键盘输入长方柱的长、宽、高;(2)计算长方柱的体积(volume)和表面积(areas);(3)输出这长方柱的体积和表面积。(可以复制提示部分的代码开始你的编程)输入长方柱的长、宽、高输出长方柱的体积...原创 2018-10-17 21:51:12 · 558 阅读 · 0 评论 -
YTUOJ——矩形类定义【C++】
题目描述定义一个矩形类,数据成员包括左下角和右上角坐标,定义的成员函数包括必要的构造函数、输入坐标的函数,以及计算并输出矩形面积的函数。要求使用提示中给出的测试函数并不得改动。输入四个数,分别表示矩形左下角和右上角顶点的坐标,如输入3.7 0.4 6.5 4.9,代表左下角坐标为(3.7, 0.4),右上角坐标为(6.5, 4.9)。输出输出一共有3行(请参考提示(hint)中...原创 2018-10-17 21:55:26 · 484 阅读 · 0 评论 -
YTUOJ——C++类实现最大数的输出
题目描述输入n个数,找出最大的数并输出。输入输入n,并输入n个数。输出输出的最大的数,每个输出结果占一行。样例输入101 2 3 4 5 6 7 8 9 10样例输出10提示主函数未给出,需要自己加上。class Q{public: //此处声明需要的成员函数private: int n; int a[100];};...原创 2018-10-17 21:59:51 · 518 阅读 · 0 评论 -
YTUOJ——A类设计--正方形
题目描述 注:本题只需要提交需要设计部分的代码,请按照C++方式提交。设计一个基于对象的程序,计算正方形的周长和面积并输出。#include <stdio.h>#include <iostream>using namespace std;/********************************完成Square的设计并提交该部分代码cla...原创 2018-10-17 22:02:45 · 500 阅读 · 0 评论