C++
面向NOIP考试,C++学习案例汇总。
小鹏编程
这个作者很懒,什么都没留下…
展开
-
《全国青少年软件编程等级考试》2021年9月C语言一级真题(含答案)
文章目录概述1. 交换输出2. 计算乘积3. 数字判断4. 满足条件的数的累加5. 比n小的最大质数概述考试时间:2021年03月21日题目类型:编程题(共5题,共100分)时间限制:1000内存限制:655361. 交换输出输入两个整数a、b,将他们交换输出。输入一行两个整数a、b,以空格分隔。 0 < a < 108, 0 < b < 1016输出一行两个整数b、a,以空格分隔。样例输入123 12345654321样例输出12345654321 1原创 2021-09-27 15:50:32 · 7670 阅读 · 3 评论 -
【算法】如何使用C++语言实现二分法查找?
文章目录二分查找法题目描述程序代码循环语句实现递归实现二分查找法二分法查找,是在一个有序的数组中查找关键值的一种计算机算法,可以有效提高数组的查找速度。题目描述请在一个有序递增数组中(不存在相同元素),采用二分查找,找出值x的位置,如果x在数组中不存在,请输出-1!输入第一行,一个整数n,代表数组元素个数(n <= 106)第二行,n个数,代表数组的n个递增元素(1<=数组元素值<=108)第三行,一个整数x,代表要查找的数(0<=x<=108)输出x在数组原创 2021-07-30 14:34:09 · 2074 阅读 · 0 评论 -
【进制转换】如何使用C++将2进制转换为16进制?
题目题目描述请将一个不超过100位的二进制数转换为十六进制数!输入一个不超过100位的二进制整数输出该数对应的十六进制数!样例输入11001001111011111000001000010011样例输出C9EF8213程序代码#include <iostream>using namespace std;// 将 4 位的 2 进制转换为 1 位的 16 进制char num(string s){ // 1101,从最低位开始按权展开,转换为10进制原创 2021-07-09 11:35:51 · 6772 阅读 · 0 评论 -
【进制转换】如何使用C++将一个十进制数转为16进制?
题目题目描述请从键盘读入一个非负整数n(n是一个不超过18位的正整数),将n转换为16进制!注意:16进制即逢16进1,每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F共16个大小不同的数,即逢16进1,其中用A,B,C,D,E,F这六个字母来分别表示10,11,12,13,14,15。如:60的十六进制为3C。(字母请用大写)输入一个不超过18位的非负整数n输出该数的十六进制值样例输入100000000000样例输出174876E800原创 2021-07-09 10:30:52 · 34453 阅读 · 4 评论 -
【进制转换】如何使用C++将一个二进制数转为十进制?
题目描述请将一个25位以内的2进制正整数转换为10进制!输入一个25位以内的二进制正整数输出该数对应的十进制样例输入题目描述请将一个25位以内的2进制正整数转换为10进制!输入一个25位以内的二进制正整数输出该数对应的十进制样例输入...原创 2021-07-09 10:06:51 · 4426 阅读 · 1 评论 -
如何使用C++将正整数N转换成一个二进制数?
进制转换方法除2取余,反向输出法。案例题目描述输入一个不大于32767的整数n,将它转换成一个二进制数。输入输入只有一行,包括一个整数n(0<=n<=32767)输出输出只有一行。样例输入100样例输出1100100程序代码#include <bits/stdc++.h>using namespace std;/* 用短除法除2取余,将余数逆序存入字符串s */string s;int n, x;char c;int main原创 2021-07-08 21:06:56 · 3439 阅读 · 0 评论 -
【C++】怎么用深度优先算法解决扫地机器人问题?
题目描述小麦同学为扫地机器人设计了一个在矩形区域中行走的算法。规则如下:采取向右 - 向下 - 向左 - 向上的路径,让扫地机器人清扫一个n*m的面积,每到一个单元格,都为其标记一个整数的到达序号,遍历过所有单元格后,机器人自动停止。最终输出每个单元格到达的顺序编号。举例清扫一个3 * 4的矩形区域清扫一个5 * 5的矩形区域输入一行内有2个两个整数n和m,用空格隔开,分别代表矩形区域的行数(高)和列数(宽)(n和m都是2~9之间的整数)输出输出按题意机器人走过每个点之后,标记原创 2021-07-02 11:21:15 · 2284 阅读 · 2 评论 -
【C++基础】变量命名的规范与习惯
变量在C语言中频繁使用,其命名的规则要牢牢掌握,包括以下几点:只能由字母、数字、下划线组成原创 2021-05-07 09:05:22 · 274 阅读 · 0 评论 -
【循环】- 如何用C++对因子求和?
因子的定义因子是一个数学概念,定义如下:假如整数n除以m,结果是无余数的整数,那么我们称m就是n的因子。需要注意的是,唯有被除数,除数,商皆为整数,余数为零时,此关系才成立。反过来说,我们称n为m的倍数。那么,如何使用C++语言的函数和循环,求解因子和呢?案例题目描述已知一个正整数N(20 <= N <= 800000000),请你编写程序求出该数的全部因子(不包括1和n)的和。输入一个正整数n。样例输入24输出一个整数代表n的因子和。样例输出35程序原创 2021-01-04 12:05:33 · 5052 阅读 · 1 评论 -
【循环】- 如果用C++求素数?
素数的定义素数是一个数学概念,定义如下:质数又称素数。一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数;否则称为合数(规定1既不是质数也不是合数)。那么,如何使用C++语言的函数 ,求解呢?知识点一个正整数n的因子对,一定可以在2~sqrt(n)的范围内求解完毕。如果n找到因子,就可以停止循环。案例题目描述任意输入一个整数,判断它是否为素数。是的话输出"T",不是的话输出"F"。输入输入只有一行,包括1个整数。样例输入57输出输出只有一行。样例原创 2021-01-04 11:43:26 · 1805 阅读 · 0 评论 -
【循环】- 如何在C++应用完全平方数?
完全平方数的定义完全平方数是一个数学概念,定义如下:如果一个正整数 a 是某一个整数 b 的平方,那么这个正整数 a 叫做完全平方数。零也可称为完全平方数。那么,如何使用C++语言的函数 ,实现完全平方数的应用呢?案例题目描述一个整数n,加上100是得到的n+100一个完全平方数,在加100的基础上再加上168得到的n+100+168又是一个完全平方数,请问该数最小是多少?输入无输出符合条件的最小的数程序代码#include <bits/stdc++.h>using原创 2021-01-04 10:38:01 · 1316 阅读 · 0 评论 -
【函数】- 如何在C++中求完全平方数?
完全平方数的定义完全平方数是一个数学概念,定义如下:如果一个正整数 a 是某一个整数 b 的平方,那么这个正整数 a 叫做完全平方数。零也可称为完全平方数。那么,如何使用C++语言的函数 ,求解完全平方数呢?案例程序代码#include <bits/stdc++.h>using namespace std;int main(){ int n; cin >> n; /* 如何判断整数n是一个完全平方数(是另一个整数的平方) 方法:n开根号(求平原创 2021-01-04 10:09:34 · 11158 阅读 · 1 评论 -
【函数】- 如何在C++中求平方根?
平方根的定义平方根是数学中的一个概念,定义如下:平方根,又叫二次方根,表示为〔±√ ̄〕,其中属于非负数的平方根称之为算术平方根(arithmetic square root)。一个正数有两个实平方根,它们互为相反数,负数没有平方根,0的平方根是0。那么,如何使用C++语言的函数 ,求解平方根呢?案例程序代码#include <bits/stdc++.h>using namespace std;int main(){ int n; cin >> n;原创 2021-01-04 09:50:29 · 35176 阅读 · 0 评论 -
【数组】- 如何在C++数组的去除重复的数字?
去除重复数字数组是C++语言重要的数据结构,对它的一些基本操作要熟练掌握。那么,今天我们就来讨论,怎么去除数组中重复的数字?案例题目描述给你N个数(n<=100),每个数都在(0~1000)之间,其中由很多重复的数字,请将重复的数字只保留一个,并将剩下的数由小到大排序并输出。输入输入有2行。第1行为1个正整数,表示数的个数:N 。第2行有N个用空格隔开的整数。样例输入1020 40 32 67 40 20 89 300 400 15输出第1行为1个正整数M,表示不相同数的个数。原创 2021-01-01 16:03:33 · 14576 阅读 · 1 评论 -
【数组】- 如何用C++数组统计相同数字出现的次数?
统计数字出现次数数组是C++语言重要的数据结构,对它的一些基本操作要熟练掌握。那么,今天我们就来讨论,怎么使用数组统计一组数中每个数字出现的次数?案例题目描述有50个数(0-19),求这50个数中相同数字出现的最多次数为几次?输入50个数字。样例输入1 10 2 0 15 8 12 7 0 3 15 0 15 18 16 7 17 16 9 1 19 16 12 17 12 4 3 11 1 14 2 11 14 6 11 4 6 4 11 13 18 7 0 3 2 3 18 19 2 1原创 2021-01-01 12:14:40 · 15320 阅读 · 1 评论 -
如何用C++打印一个正三角形
使用C++语言能够做很多有意思的事情,比如,打印一个正三角形。那么该如何实现呢?输入输出输入一个整数n。输出的一个字符图形。例如,输入3,则输出图形如下:(为方便统计,□代表空格,×代表*)□□×□××××××××代码实现:#include <iostream>using namespace std;int main(){ /* 思路:产生n行的图形 比如,n=3 i=1 2个空格 1个星 i=2 1个空格 3个星 i=3 0个空格 5个星 第i原创 2020-12-26 10:20:37 · 5269 阅读 · 0 评论 -
【数组】- 如何用C++的数组做计数器?
COUNT数组是C++语言重要的数据结构,对它的一些基本操作要熟练掌握。那么,今天我们就来讨论,怎么使用数组做计数器的方法?案例题目描述一本书的页数为N,页码从1开始编起,请你求出全部页码中,用了多少个0,1,2……9。输入一个正整数N(N<=10000),表示总的页码。样例输入11输出共十行:第k行为数字k-1的个数。样例输出1411111111程序代码#include <iostream>using namespace std;i原创 2021-01-01 11:47:48 · 1937 阅读 · 0 评论 -
【数组】- 如何求C++数组的中位数?
中位数数组是C++语言重要的数据结构,对它的一些基本操作要熟练掌握。那么,今天我们就来讨论,怎么使用冒泡排序的方法,求数组元素的中位数?案例题目描述中位数指的是一组数,如果按照大小排序排好后最中间的那个数的值,如果有偶数个元素,那么就是最中间两个数的平均数。比如:2 5 8 1 6,排序后的结果为1 2 5 6 8,那么这组数的中位数就是5。再比如:8 9 1 2 3 0,排序后的结果为0 1 2 3 8 9,那么这组书的中位数就是(2+3)/2=2.5。输入第一行:一个整数n代表有n个数。原创 2021-01-01 11:27:02 · 10532 阅读 · 0 评论 -
【数组】- 如何对C++数组做冒泡排序?
数组逆序数组是C++语言重要的数据结构,对它的一些基本操作要熟练掌握。那么,今天我们就来讨论,怎么使用冒泡排序的方法,把数组元素从小到大重新排列?案例题目描述对数组的元素按从小到大进行排序。有两行 第一行有一个整数n( 5 <= n <= 10 ) 第二行有n个整数。样例输入81 2 3 6 8 7 4 5输出输出更新后的数组。样例输出1 2 3 4 5 6 7 8程序代码#include <iostream>using namespace std;原创 2021-01-01 10:55:51 · 3460 阅读 · 1 评论 -
【数组】- 如何在C++中把元素插入有序数组?
数组逆序数组是C++语言重要的数据结构,对它的一些基本操作要熟练掌握。今天,我们就来讨论,怎么把元素的插入有序数组的问题?案例题目描述给你一个整数n和一个数列(数列个数不超过1000),这个数列保证从小到大排列,现要求将这个整数n插入到数列中,使新的数列仍然从小到大排列。输入第一行一个整数n :等待插入的数 第二行一个整数m :数列中数的个数 第三行m个整数(空格隔开)。样例输入241 3 4 5输出一行整数:新的数列(空格隔开)。样例输出1 2 3 4 5程序代码#in原创 2020-12-31 17:40:16 · 7367 阅读 · 0 评论 -
【数组】- 如何在C++的数组中插入元素?
数组逆序数组是C++语言重要的数据结构,对它的一些基本操作要熟练掌握。今天,我们就来讨论,如何在数组中插入元素?案例题目描述在一个数组的第x个位置插入一个新的数y。输入有四行第一行有一个整数n ( 5 <= n <= 10 ),第二行有n个整数,第三行有一个整数x,为要插入的位置,第四行有一个整数y,为要插入的整数。样例输入57 2 3 4 529输出更新后的数组。样例输出7 9 2 3 4 5程序代码#include <iostream>原创 2020-12-31 17:29:16 · 35833 阅读 · 1 评论 -
【数组】- 如何把C++的数组逆序重置?
数组逆序数组是C++语言重要的数据结构,对它的一些基本操作要熟练掌握。今天,我们就来讨论,数组元素的逆序问题?案例题目描述给你m个整数,将其逆序输出。输入第一行一个整数m(3 <= m <= 100 ):数组中数的个数。第二行m个整数(空格隔开)(这些数在0-9999999之间)。例如:31 7 5输出m个整数(空格隔开)例如:5 7 1程序代码#include <iostream>using namespace std;int main()原创 2020-12-31 12:11:32 · 1748 阅读 · 1 评论 -
【数组】- 如何查找C++数组的最大值和最小值?
查找数组元素数组是C++语言重要的数据结构,对它的一些基本操作要熟练掌握。今天,我们就来讨论,如何实现数组元素的查找?案例描述给你m个整数,查找其中有无值为n的数,有则输出该数第一次出现的位置,没有则输出-1。输入第一行一个整数m:数的个数 ( 0 <= m <= 100 ) 第二行m个整数(空格隔开)( 这些数在 0-1000000范围内 ) 第三行为要查找的数n。例如:41 2 3 33输出n的位置或-1。例如:#include <iostream>原创 2020-12-31 11:29:34 · 11293 阅读 · 0 评论 -
【数组】- 如何在C++的数组中查找元素?
查找数组元素数组是C++语言重要的数据结构,对它的一些基本操作要熟练掌握。今天,我们就来讨论,如何实现数组元素的查找?案例描述给你m个整数,查找其中有无值为n的数,有则输出该数第一次出现的位置,没有则输出-1。输入第一行一个整数m:数的个数 ( 0 <= m <= 100 ) 第二行m个整数(空格隔开)( 这些数在 0-1000000范围内 ) 第三行为要查找的数n。例如:41 2 3 33输出n的位置或-1。例如:#include <iostream>原创 2020-12-30 22:51:12 · 15348 阅读 · 0 评论 -
【数组】- 如何在C++中定义数组?
数组定义在C++语言中,假设要统计全班40个人的学习成绩,我们不可能定义40个变量用于处理这些数据。那么,我们今天的主角 数组 就粉墨登场了。数组是C++中相同元素的集合,实现一个变量存储多个元素的目的。案例描述期末考试结束,王老师想知道这次考试中成绩优秀的同学有多少人(考试成绩大于或等于90表示成绩优秀),请你编程帮助王老师来计算出成绩优秀的人数。输入第一行,一个整数n代表有n个人的成绩(n<=100)。第二行,n个人的成绩,用空格隔开。例如:598 88 85 99 90原创 2020-12-30 22:32:28 · 14651 阅读 · 1 评论 -
如何使用C++语言解决《鸡兔同笼》问题? - NOIP基础
在1500年前的《孙子算经》中,记载了一道有趣的数学题《鸡兔同笼》原文如下:今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?我们使用C++语言的穷举算法,就可以轻松的解决这个问题。题目描述鸡兔同笼问题:一个笼子里面有鸡若干只,兔若干只。共有头50个,共有腿160条。求鸡兔各多少只?代码实现#include <iostream>using namespace std;int main(){ int i; // 鸡的数量 // 循环鸡可能的数量范围 for(i原创 2020-12-27 01:03:01 · 2941 阅读 · 0 评论 -
如何使用C++语言打印一个平行四边形 - NOIP基础
我们怎么使用C++语言,打印一个平行四边形呢?题目描述输入一个整数打印“ * ”字符图形。输入一个整数(0 < n < 10)。例如:5输出字符“ * ”组成的平行四边形。例如:***** ***** ***** ***** *****代码实现#include <iostream>using namespace std;int main(){ int n,i,j; cin >> n; for(i = 1;原创 2020-12-27 00:38:13 · 9194 阅读 · 0 评论 -
如何使用C++打印一个直角三角形 - NOIP基础
怎么使用C++语言,打印一个直角三角形呢?题目描述打印字符图形。输入一个整数(0 < n < 10)。例如:3输出一个字符图形。例如:******代码实现#include <iostream>using namespace std;int main(){ int n,i,j; cin >> n; for(i = 1;i <= n;i++){ for(j = 1;j <= i;j ++){ cout原创 2020-12-27 00:22:32 · 6559 阅读 · 0 评论 -
如何使用C++语言打印倒三角形-NOIP基础
我们怎么实现使用C++语言,打印一个倒三角形呢?题目描述输入一个整数打印字符图形输入一个整数(0<N<10)输出一个字符图形,如:n=3,则输出图形如下:×××××□×××□□×代码实现 - 方法1#include <iostream>using namespace std;int main(){ /* 思路一:找出循环的规律,第i行有多少个空格,多少星 i=1 0个空格 5个星 3 * 2 - 1 = 5 i=2 1个空格 3个星 2 * 2 - 1原创 2020-12-26 11:22:00 · 13671 阅读 · 0 评论