C++
本专栏为C++方面的知识
小岛上的盛夏
这个作者很懒,什么都没留下…
展开
-
蓝桥杯 基础练习 十进制转十六进制
文章目录思路:代码:思路:1.取模%:①0~9:数字转字符输出->b[i++]=n%16-10+'A';//-10是因为10(A),11(B),12(C)比A的基础上多了(n%16-10个)②10~15:A、B、C、D、E、F字符输出->b[i++] = n%16+'A'-10;2.除商/:进行下一取模做准备;3.n=0:计算结束;4.倒着输出:int m = i-1; m >= 0; m--主要是根据图示步骤,进行代码描写。注意点:1.i++:之后原创 2021-04-16 21:27:03 · 75 阅读 · 0 评论 -
蓝桥杯 基础练习 数列排序---【排序sort、冒泡排序】
#include<bits/stdc++.h>using namespace std;int main(){ int n; scanf("%d",&n); int a[n]; for(int i = 0;i < n; i++){ scanf("%d",&a[i]); } sort(a,a+n); for(int i = 0; i < n; i++){ cout&l..原创 2021-04-14 21:33:08 · 63 阅读 · 0 评论 -
蓝桥杯 基础练习 特殊回文数
资源限制时间限制:1.0s 内存限制:512.0MB问题描述 123321是一个非常特殊的数,它从左边读和从右边读是一样的。 输入一个正整数n, 编程求所有这样的五位和六位十进制数,满足各位数字之和等于n 。输入格式 输入一行,包含一个正整数n。输出格式 按从小到大的顺序输出满足条件的整数,每个整数占一行。数据规模和约定 1<=n<=54。方法1:思路:1.判断是否是回文数;2.判断是否各位数之和为n;3.写两个函数,for循环判断会超时!!!原创 2021-04-14 21:19:27 · 64 阅读 · 0 评论 -
蓝桥杯 基础练习 回文数
方法1:超时字符串输出:printf("%s\n",s2.c_str());#include<bits/stdc++.h>using namespace std;int main(){//超时 for(int i = 1000; i <= 9999; i++){ string s1 = to_string(i); string s2 = s1; reverse(s1.begin(),s1.end()); .原创 2021-04-13 19:40:49 · 51 阅读 · 0 评论 -
蓝桥杯 基础练习 特殊的数字
#include<bits/stdc++.h>using namespace std;int main(){ int a,b,c; for(int i = 100; i <= 999; i++){ a = i%10; b = i/10%10; c = i/100%10; if(i == pow(a,3)+pow(b,3)+pow(c,3)){ printf("%d\n",i);.原创 2021-04-13 19:04:04 · 44 阅读 · 0 评论 -
蓝桥杯 基础练习 杨辉三角形
#include<bits/stdc++.h>using namespace std;int main(){ int n; scanf("%d",&n); int a[n][n]; memset(a,0,sizeof(a));//初始化赋值方法 for(int i = 0; i < n; i++){ for(int j = 0; j <= i; j++){ if(j == 0 || ..原创 2021-04-12 20:19:43 · 66 阅读 · 0 评论 -
蓝桥杯 基础练习 查找整数
资源限制时间限制:1.0s 内存限制:256.0MB问题描述给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个。输入格式第一行包含一个整数n。第二行包含n个非负整数,为给定的数列,数列中的每个数都不大于10000。第三行包含一个整数a,为待查找的数。输出格式如果a在数列中出现了,输出它第一次出现的位置(位置从1开始编号),否则输出-1。样例输入61 9 4 8 3 99样例输出2数据规模与约定1 <= n <= 1000。#include&原创 2021-04-12 19:47:14 · 79 阅读 · 0 评论 -
蓝桥杯 基础练习 数列特征
资源限制时间限制:1.0s 内存限制:256.0MB问题描述给出n个数,找出这n个数的最大值,最小值,和。输入格式第一行为整数n,表示数的个数。第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。样例输入51 3 -2 4 5样例输出5-211数据规模与约定1 <= n <= 10000。#include<bits/stdc++原创 2021-04-12 19:37:01 · 48 阅读 · 0 评论 -
蓝桥杯 基础练习 字母图形
试题 基础练习 字母图形资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 利用字母可以组成一些美丽的图形,下面给出了一个例子:ABCDEFGBABCDEFCBABCDEDCBABCDEDCBABC这是一个5行7列的图形,请找出这个图形的规律,并输出一个n行m列的图形。 输入格式输入一行,包含两个整数n和m,分别表示你要输出的图形的行数的列数。 输出格式输出n行,每个m个字符,为你的图形。 样例输入5 7 样例输出ABCDEFGBABCDEFCBABC原创 2021-04-04 15:38:13 · 47 阅读 · 0 评论 -
蓝桥杯 基础练习 01字串
基础练习 01字串资源限制 时间限制:1.0s 内存限制:256.0MB问题描述对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。输入格式本试题没有输入。 输出格式输出32行,按从小到大的顺序每行一个长度为5的01串。 样例输出 00000 00001 0001000011 <以下部分省略>方法一:#include<bits/原创 2021-04-04 10:47:44 · 54 阅读 · 0 评论 -
蓝桥杯 基础练习 闰年判断
基础练习 闰年判断资源限制 时间限制:1.0s 内存限制:256.0MB问题描述 给定一个年份,判断这一年是不是闰年。当以下情况之一满足时,这一年是闰年:1. 年份是4的倍数而不是100的倍数;2. 年份是400的倍数。其他的年份都不是闰年。输入格式输入包含一个整数y,表示当前的年份。 输出格式输出一行,如果给定的年份是闰年,则输出yes,否则输出no。说明:当试题指定你输出一个字符串作为结果(比如本题的yes或者no,你需要严格按照试题中给定的大小写,写错大小写将不得分。原创 2021-04-04 10:00:38 · 145 阅读 · 0 评论 -
最长公共子串【动态规划】
最长公共子串(LCS)参考博客:史上最全最丰富的“最长公共子序列”、“最长公共子串”问题的解法与思路找两个字符串的最长公共子串,这个子串要求在原字符串中是连续的。其实这又是一个序贯决策问题,可以用动态规划来求解。我们采用一个二维矩阵来记录中间的结果。这个二维矩阵怎么构造呢?直接举个例子吧:“bab"和"caba”(当然我们现在一眼就可以看出来最长公共子串是"ba"或"ab") b a bc 0 0 0a 0 1 0b 1 0 1a 0 1 0我们原创 2021-04-04 09:22:33 · 200 阅读 · 0 评论 -
判断一个数的位数(递归/while)
方法一:while循环int main(){ int n; int cnt = 0; cin>>n; while(n/10!=0){ cnt++; n/=10; } cout<<cnt+1; return 0;}方法二:函数递归int len(int x){ if(x<10) return 1; return len(x/10)+1;}int main(){原创 2021-03-28 21:30:44 · 1073 阅读 · 0 评论 -
背包问题(DFS)
有n件物品,每件物品的重量为w[i],价值为c[i]。现在需要选出若干件物品放入一个容量为V的背包中,使得在选入背包的物品重量和不超过容量V的前提下,让背包中物品的价值之和最大,求最大价值。(1<=n<=20)#include<bits/stdc++.h>using namespace std;const int maxn = 30;int n,v,maxValue=0;int w[maxn],c[maxn];int ans=0;void DFS(int ind.原创 2021-03-28 21:05:57 · 238 阅读 · 0 评论 -
蓝桥杯第八届省赛C++B组
文章目录标题1: 购物单**** 180.90 88折**** 10.25 65折**** 56.14 9折**** 104.65 9折**** 100.30 88折**** 297.15 半价**** 26.75 65折**** 130.62 半价**** 240.28 58折**** 2原创 2021-03-26 21:42:47 · 85 阅读 · 0 评论 -
求100以内素数C++
1不是素数,素书即是质数。 质数的定义:一个大于1的自然数,除了1和它本身外没有其他的约数。方法一:使用变量flag判断是否为偶数;%i==0,flag=1,结束;记得把flag再赋值为0,否则下面的数进行判断时,flag一直都是1(若前面的有flag为1时)。#include<bits/stdc++.h>using namespace std;int main(){ int flag=0; int n=0; for(int i = 2; i <.原创 2021-03-21 14:37:40 · 1827 阅读 · 0 评论 -
C++常用函数
参考博客:https://blog.csdn.net/candyliuxj/article/details/6313191转载 2021-02-03 23:21:20 · 88 阅读 · 0 评论 -
字符串去除空白输出
#include <iostream>#include <sstream>#include <string>using namespace std;int main(){ string s = "Somewhere down the road"; istringstream iss(s); string c; do { string subs; iss >> subs;//原创 2020-11-26 20:14:51 · 110 阅读 · 0 评论 -
C++整数除法保留小数
#include <iostream> #include <iomanip>using namespace std;int main(){ int a,b; cin>>a>>b; int C = a / b; cout<<C<<endl; double e = a, f = b; double D = e / f; cout<<setprecision(2)<<fixed<<D&原创 2020-11-08 20:09:33 · 11050 阅读 · 0 评论 -
关于“str[i] != 0”问题
一,原题题型概述:遍历一个字符数组,符合for循环条件的进行内层if语句一旦字符串中有’‘a’ - ‘z’ n就自增一。问:最后运行结果n的结果?该为选择题,对于我来说有争议的两个答案 A.0 B.2我选择了A,答案为B。#include <stdio.h>int main(){ char s[] ={"012xy"}; int n = 0; for(int i = 0;s[i]!=0,i++){ if(s[i]>='a'&&s[i]转载 2020-11-08 16:21:20 · 6415 阅读 · 1 评论