自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(208)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 《HeadFirst设计模式(第二版)》第十一章代码——代理模式

在上一章的代码的基础上做一些修改。

2023-08-20 10:42:08 1356 1

原创 《HeadFirst设计模式(第二版)》第十章代码——状态模式

上面的代码很明显极其不利于本维护:比如要添加一个新的状态--每次投入25分钱都能有十分之一的概率获得两个糖果。允许对象内部状态改变时改变其行为。对象看起来好像改变了他的类。

2023-08-19 10:26:36 1878

原创 《HeadFirst设计模式(第二版)》第九章代码——组合模式

前面说到,当一个菜单里面出现了子菜单的时候,前面的迭代器模式得换成组合模式。

2023-08-18 12:57:13 1010

原创 《HeadFirst设计模式(第二版)》第九章代码——迭代器模式

迭代器提供一种方式,可以访问一个聚合对象中的元素而又不暴露其潜在实现。同时把遍历的任务放到迭代器上而不是聚合上,这就简化了聚合的接口和实现(让聚合只需负责管理对象集合即可),满足单一责任原则。

2023-08-18 12:47:26 1694

原创 《HeadFirst设计模式(第二版)》第八章代码——模板方法模式

【代码】《HeadFirst设计模式(第二版)》第八章代码——模板方法模式。

2023-08-17 12:45:11 953

原创 《HeadFirst设计模式(第二版)》第七章代码——外观模式

【代码】《HeadFirst设计模式(第二版)》第七章代码——外观模式。

2023-08-08 11:37:16 1111

原创 《HeadFirst设计模式(第二版)》第七章代码——适配器模式

【代码】《HeadFirst设计模式(第二版)》第七章代码——适配器模式。

2023-08-07 12:00:58 880

原创 《HeadFirst设计模式(第二版)》第六章代码——命令模式

【代码】《HeadFirst设计模式(第二版)》第六章代码——命令模式。

2023-08-06 18:36:06 1254

原创 《HeadFirst设计模式(第二版)》第五章代码——单例模式

确保一个类只有一个实例,并提供一个全局的访问点。

2023-08-05 09:14:49 2374 1

原创 《HeadFirst设计模式(第二版)》第四章代码——工厂模式

【代码】《HeadFirst设计模式(第二版)》第四章代码——工厂模式。

2023-08-04 10:47:04 511

原创 《HeadFirst设计模式(第二版)》第三章代码——装饰者模式

【代码】《HeadFirst设计模式(第二版)》第三章代码——装饰者模式。

2023-08-03 10:44:50 490

原创 《HeadFirst设计模式(第二版)》第二章代码——观察者模式

【代码】《HeadFirst设计模式(第二版)》第二章代码——观察者模式。

2023-08-02 11:49:24 841

原创 《HeadFirst设计模式(第二版)》第一章源码

【代码】《HeadFirst设计模式(第二版)》第一章源码。

2023-08-01 20:44:11 928

原创 银行家算法实现【JAVA】

【代码】银行家算法实现【JAVA】

2023-04-29 11:31:28 1063 3

原创 七大排序算法

七大排序算法的代码案例

2022-11-21 12:39:57 477

原创 1131:基因相关性

思路:逐一比较,计算相同的比例再比较即可。

2022-09-08 23:12:40 758

原创 1130:找第一个只出现一次的字符

思路:逐一字符取出来,再判断字符串中该字符的个数即可。

2022-08-17 09:51:01 1056

原创 1839:【05NOIP提高组】谁拿了最多奖学金

可以用类的知识来做。

2022-08-16 10:22:01 410

原创 2050:【例5.20】字串包含

思路:循环判断即可;

2022-08-16 10:17:25 539

原创 1129:统计数字字符个数

思路:使用getline整行输入,循环遍历,判断ascii码即可。

2022-08-15 10:43:32 682

原创 2049:【例5.19】字符串判等

2049:【例5.19】字符串判等 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 13135 通过数: 4599 【题目描述】 判断两个由大小写字母和空格组成的字符串在忽略大小写,且忽略空格后是否相等。 【输入】 两行,每行包含一个字符串。 【输出】 若两个字符串相等,输出YES,否则输出NO。 思路: 逐一读取字...

2022-04-12 23:45:49 1218 2

原创 1310:【例2.2】车厢重组

1310:【例2.2】车厢重组 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 24917 通过数: 15294 【题目描述】 在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢,如果将桥旋转180度,则可以把相邻两节车厢的位置交换,用这种方法可以重新排列车厢的顺序。于是他就负责用这座桥将进站的车厢按车厢号从小到大排列。他退休后,火车站决定将这一工作自动化,其中一项重要的工作是编一个程序,输入初...

2022-03-15 08:49:58 577

原创 2048:【例5.18】串排序

2048:【例5.18】串排序 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 8883 通过数: 4206 【题目描述】 对给定的n(1≤n≤20)个国家名(国家名字长度不超过20),按其字母的顺序输出。 【输入】 第一行为国家的个数n; 以下n行为国家的名字。 【输出】 n行,排序后的国名。 分析:直接比较即可,当然强制转成首字符ascii码进行比较也行 #include<iostream> using std::...

2022-03-14 19:36:57 1772

原创 2047:【例5.16】过滤空格

2047:【例5.16】过滤空格 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 10702 通过数: 6777 【题目描述】 过滤多余的空格。一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。 【输入】 一行,一个字符串(长度不超过200200),句子的头和尾都没有空格。 【输出】 过滤之后的句子。 分析:在输出的过程中减少空格 #include<iostream> using std::cin; u...

2022-03-14 19:28:51 1887

原创 2046:【例5.15】替换字母

2046:【例5.15】替换字母 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 10257 通过数: 5442 【题目描述】 在应用计算机编辑文档的时候,我们经常遇到替换任务。如把文档中的“电脑”都替换成“计算机”。现在请你编程模拟一下这个操作。 【输入】 输入两行内容,第1行是原文(长度不超过200个字符),第2行包含以空格分隔的两个字符A和B,要求将原文中所有的字符A都替换成字符B,注意:区分大小写字母。 分析:使用string输入,...

2021-12-25 12:53:42 1977

原创 1128:图像模糊处理

1128:图像模糊处理 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 33015 通过数: 14191 【题目描述】 给定n行m列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理: 1.四周最外侧的像素点灰度值不变; 2.中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(舍入到最接近的整数)。 【输入】 第一行包含两个整数n和m,表示图...

2021-12-24 14:20:15 2161 2

原创 C++、C二维数组的内部结构

#include<iostream> using std::cout; using std::cin; using std::endl; //二维数组的内部结构 int main() { int a[3][3] = {1,2,3,4,5,6,7,8,9 }; //这里a是数组名,也就是数组的首地址,其实际结构为: int(*p)[3] = a; //这个p是和a等价的 cout << (*p)[0] << endl;//对指针p解引用之后就是一个数组,.

2021-12-21 10:54:16 894

原创 为什么数组作为参数时还要以数组长度作为参数

最近看到这么一道题目: //请输出下面代码的结果: //答案:6 #include<iostream> using std::cin; using std::cout; using std::endl; int function(char arr[]); int main() { char array[] = "ABCDEF"; cout << function(array) << endl; } int function(char arr[]) { in

2021-12-19 17:22:04 1283 3

原创 1127:图像旋转

1127:图像旋转 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 25995 通过数: 15657 【题目描述】 输入一个n行m列的黑白图像,将它顺时针旋转90度后输出。 【输入】 第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1≤n≤100,1≤m≤100。 接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0∼255之间。 【输出】 m行,每行n个整数,为顺时针旋转90度后...

2021-12-19 16:55:04 903

原创 1126:矩阵转置

1126:矩阵转置 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 35838 通过数: 16627 【题目描述】 输入一个n行m列的矩阵A,输出它的转置AT。 【输入】 第一行包含两个整数n和m,表示矩阵A的行数和列数(1<=n<=100,1<=m<=100)。 接下来n行,每行m个整数,表示矩阵A的元素。相邻两个整数之间用单个空格隔开,每个元素均在1~1000之间。 【输出】 m行,每行n个整数,为矩阵A的转...

2021-12-13 20:12:35 1338

原创 1125:矩阵乘法

1125:矩阵乘法 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 26195 通过数: 13992 【题目描述】 计算两个矩阵的乘法。n×m阶的矩阵A乘以m×k阶的矩阵B得到的矩阵C 是n×k阶的,且C[i][j] = A[i][0]×B[0][j] + A[i][1]×B[1][j] + …… +A[i][m-1]×B[m-1][j](C[i][j]表示C矩阵中第i行第j列元素)。 【输入】 第一行为n, m, k,表示A矩阵是n行m列,B矩...

2021-12-09 16:39:39 1729

原创 1124:矩阵加法

1124:矩阵加法 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 30806 通过数: 19860 【题目描述】 输入两个n行m列的矩阵A和B,输出它们的和A+B。 【输入】 第一行包含两个整数n和m,表示矩阵的行数和列数(1≤n≤100,1≤m≤100)1≤n≤100,1≤m≤100)。 接下来n行,每行m个整数,表示矩阵A的元素。 接下来n行,每行m个整数,表示矩阵B的元素。 相邻两个整数之间用单个空格隔开,每个元素均在1∼1000之...

2021-12-09 16:34:49 780

原创 1123:图像相似度

1123:图像相似度 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 27610 通过数: 17462 【题目描述】 给出两幅相同大小的黑白图像(用0-1矩阵)表示,求它们的相似度。说明:若两幅图像在相同位置上的像素点颜色相同,则称它们在该位置具有相同的像素点。两幅图像的相似度定义为相同像素点数占总像素点数的百分比。 【输入】 第一行包含两个整数m和n,表示图像的行数和列数,中间用单个空格隔开。1≤m≤100, 1≤n≤100。 之后m行,每行...

2021-12-07 23:04:48 1101

原创 1122:计算鞍点

1122:计算鞍点 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 30591 通过数: 17364 【题目描述】 给定一个5×5的矩阵,每行只有一个最大值,每列只有一个最小值,寻找这个矩阵的鞍点。鞍点指的是矩阵中的一个元素,它是所在行的最大值,并且是所在列的最小值。 例如:在下面的例子中(第4行第1列的元素就是鞍点,值为8)。 11 3 5 6 9 12 4 7 8 10 10 5 6 9 11 8 6 4 7 2 15 10 11 20 2...

2021-12-07 23:02:49 1142

原创 1121:计算矩阵边缘元素之和

1121:计算矩阵边缘元素之和 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 36412 通过数: 21033 【题目描述】 输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。 【输入】 第一行分别为矩阵的行数m和列数n(m<100,n<100),两者之间以一个空格分开。 接下来输入的m行数据中,每行包含n个整数,整数之间以一个空格分开。 【输出】 输出...

2021-12-06 17:08:37 1388

原创 1120:同行列对角线的格

分析:这里问题就难在主对角线(左上角到右下角)和副对角线(左下角到右上角),两种及其各自的同方向的更短的对角线上: 主对角线:i == j; 主对角线下面:i > j; 主对角线上面 : i < j; 副对角线: i + j == n + 1; 副对角线上面:i + j < n+1; 副对角线下面:i + j >n+1; 对这些规律有疑虑的话可以自己用纸币画一下就可以找到规律了。 #include<iostream> using std::cin;...

2021-12-06 17:06:31 1219

原创 1119:矩阵交换行

1119:矩阵交换行 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 42130 通过数: 25565 【题目描述】 给定一个5×5的矩阵(数学上,一个r×c的矩阵是一个由r行c列元素排列成的矩形阵列),将第n行和第m行交换,输出交换后的结果。 【输入】 输入共6行,前5行为矩阵的每一行元素,元素与元素之间以一个空格分开。 第6行包含两个整数m、n,以一个空格分开(1≤m,n≤5)。 【输出】 输出交换之后的矩阵,矩阵的每一行元素占一行...

2021-12-05 12:43:49 775

原创 2045:【例5.13】蛇形填数

2045:【例5.13】蛇形填数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 5062 通过数: 2695 【题目描述】 在n×n方阵里填入1,2,3,…,n×n,要求填成蛇形。例如n=4时方阵为: 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4 其中,n≤20。 【输入】 输入n。 【输出】 输出题述方阵。n行,每行各数之间用一个空格隔开。 分析:这题我想了好久啊。。。。。 可以按照环来一...

2021-12-05 12:40:45 1439

原创 2044:【例5.12】回文字串

2044:【例5.12】回文字串 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 6316 通过数: 2496 【题目描述】 输入一串字符,字符个数不超过100,且以“.”结束。 判断它们是否构成回文。 【输入】 一行字符串。 【输出】 是否为回文串。是输出“Yes”,否输出“No。” 分析:主要在于后面有一个.号,从倒数第二个和第一个进行比较即可。 #include<iostream> using std::ci...

2021-12-04 23:00:58 1405

原创 2043:【例5.11】杨辉三角形

2043:【例5.11】杨辉三角形 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 6968 通过数: 4548 【题目描述】 例5.11 打印杨辉三角形的前n(2≤n≤20)行。杨辉三角形如下图: 当=5时 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 输出: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 【输入】 ...

2021-12-04 22:58:43 923

C语言课本ppt 函数初级 可用于借鉴

c语言的函数学习ppt,嗯。。。

2021-11-13

C++ 高精度计算 一本通高精度计算部分 答案

1307 1308 1309 1168到1175总共11道题目的答案

2022-03-28

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除