当前位置: 首页 > news >正文

C++蓝桥杯基础篇(二)

片头

嗨!小伙伴们,今天我们将学习C++蓝桥杯基础篇(二),继续练习相关习题,准备好了吗?咱们开始咯~


第1题

简单计算器输入两个数,以及一个运算符 +,-,*,/,输出这两个数运算后的结果。当运算符是/,且除数是0时,输出"Divided byzero!";当输入的字符不是 +,-,* , / 时,输出"Invalid operator!”

代码如下:

//简易计算器
//输入2个数,以及一个运算符+、-、*、/,输入这2个数运算后的结果
//当运算符是/,且除数是0时,输出"Divided by zero!",
//当输入的字符不是+、-、*、/时,输出"Invalid operator!"int main() {int a, b;char c;cin >> a >> b >> c;if (c == '+') {cout << a + b << endl;}else if (c == '-') {cout << a - b << endl;}else if (c == '*') {cout << a * b << endl;}else if (c == '/') {if (b == 0) {cout << "Divided by zero!" << endl;}else cout << a / b << endl;}else {cout << "Invalid operator!" << endl;}return 0;
}

注意:当执行除法运算时,必须加上if-else条件判断;如果不加else,那么当除数为0时,依然会执行 a/b,编译器报错。 


第2题

输入一个0~100之间的分数,如果大于等于85,输出A,如果大于等于70并且小于85,输出B,如果大于等于60并且小于70,输出C,如果小于60,输出D

代码如下:

方法一:

int main() {int score;cin >> score;if (score >= 85) {cout << 'A' << endl;}else if (score >= 70 && score < 85) {cout << 'B' << endl;}else if (score >= 60 && score < 70) {cout << 'C' << endl;}else {cout << 'D' << endl;}return 0;
}

我们可以将上面的代码完善一下,可以将条件简化。 

方法二: 

int main() {int score;cin >> score;if (score >= 85) {cout << 'A' << endl;}else if (score >= 70) {cout << 'B' << endl;}else if (score >= 60) {cout << 'C' << endl;}else {cout << 'D' << endl;}return 0;
}

第3题

判断闰年。闰年有两种情况:(1)能被 100 整除时,必须能被 400 整除(2)不能被 100 整除时,被4整除即可。输入一个年份,如果是闰年输出yes,否则输出 no。

代码如下:

int main() {int year;cin >> year;if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {cout << "yes" << endl;}else {cout << "no" << endl;}return 0;
}

第4题  最大值

输入3个数,输出3个数中的最大值

思路:我们可以使用if-else语句来实现,先比较2个数,再和第3个数进行比较

//输入3个数,输出3个数中的最大值
/*如果 a >= b,如果 a >= ca是最大值否则c是最大值否则如果 b >= cb是最大值否则c是最大值
*/int main() {int a, b, c;cin >> a >> b >> c;if (a > b) {if (a > c) {cout << a << endl;}else {//a<ccout << c << endl;}}else {//a<bif (b > c) {cout << b << endl;}else {//b<ccout << c << endl;}}return 0;
}

方法二:我们直接进行比较,得出最大值

int main() {int a, b, c;cin >> a >> b >> c;if (a >= b && a >= c) {cout << a << endl;}else if (b >= a && b >= c) {cout << b << endl;}else {cout << c << endl;}return 0;
}

第5题  倍数

代码如下:

//倍数
//读取2个正整数值(A和B)
//如果其中1个是另一个的整数倍,则输出"Sao Multiplos"
//否则输出"Nao sao Multiplos"int main() {int A, B;cin >> A >> B;if ((A % B == 0) || (B % A == 0)) {cout << "Sao Multiplos" << endl;}else {cout << "Nao sao Multiplos" << endl;}return 0;
}

第6题  零食

代码如下:

//零食
//某商店出售5种零食,零食编号1~5
//5种零食的价目表如下所示//零食种类            价格
//零食   1           R$ 4.00
//零食   2           R$ 4.50
//零食   3           R$ 5.00
//零食   4           R$ 2.00
//零食   5           R$ 1.50//现在给定某种零食的编号和数量,请你计算总价值
//输入包含2个整数x和y,其中x为零食编号,y为零食数量
//输出格式为"Total:R$ X",其中,X为总价值,保留2位小数int main() {int x, y;cin >> x >> y;double ret = 0;if (x == 1) {ret = 4.00 * y;}else if (x == 2) {ret = 4.50 * y;}else if (x == 3) {ret = 5.00 * y;}else if (x == 4) {ret = 2.00 * y;}else if (x == 5) {ret = 1.50 * y;}printf("Total:R$ %.2lf\n", ret);return 0;
}

方法二:可以在最后计算总价格,减少代码量

int main() {int x, y;cin >> x >> y;double sale;if (x == 1) sale = 4;else if (x == 2) sale = 4.5;else if (x == 3) sale = 5;else if (x == 4) sale = 2;else if (x == 5) sale = 1.5;printf("Total:R$ %.2lf\n", y * sale);return 0;
}

第7题  区间

代码如下:

//区间
//给定一个浮点数,请你判断该数字属于以下哪个区间
//[0,25],(25,50],(50,75],(75,100]
//如果给定的数值小于0或大于100,
//则程序输出"Fora de intervalo",表示超出范围
//开区间(a,b):在实数a和实数b之间的所有实数,但不包含a和b
//闭区间[a,b]:在实数a和实数b之间的所有实数,包括a和b
//输入一个浮点数
//判断输入值位于哪个区间,按格式"Intervalo x"输出,
//其中,x为区间范围[0,25],(25,50],(50,75],(75,100]中的1个
//如果数值位于所有区间之外,则输出"Fora de intervalo"int main() {double x;cin >> x;if (x >= 0 && x <= 25) {cout << "Intervalo [0,25]" << endl;}else if (x > 25 && x <= 50) {cout << "Intervalo (25,50]" << endl;}else if (x > 50 && x <= 75) {cout << "Intervalo (50,75]" << endl;}else if (x > 75 && x <= 100) {cout<< "Intervalo (75,100]" << endl;}else {cout << "Fora de intervalo" << endl;}return 0;
}

第8题  三角形

怎么判断能否构成三角形呢?三角形的任意两边之和大于第三边,两边之差小于第三边

代码如下:

//三角形
//读取3个浮点数(A,B,C)并验证是否可以用它们形成三角形
//如果可能,则计算并输出三角形的周长
//Perimetro = XX.X
//如果不可能,则计算并输出以A和B为底,以C为高的梯形面积
//Area = XX.X
//输入共一行,包含3个浮点数A,B,C
//输出答案,保留一位小数int main17() {double A, B, C;cin >> A >> B >> C;double area;if (   (A + B > C && A - B < C)|| (A + C > B && A - C < B)|| (B + C > A && B - C < A)) {printf("Perimetro = %.1lf\n", A + B + C);}else {area = (A + B) * C * 0.5;printf("Area = %.1lf\n", area);}return 0;
}

方法二:

int main() {double a, b, c;cin >> a >> b >> c;if (a + b > c && a + c > b && b + c > a) {printf("Perimetro = %.1lf\n", a + b + c);}else {printf("Area = %.1lf\n", (a + b) * c * 0.5);}return 0;
}

第9题  游戏时间 

打个比方,我从下午2点开始打游戏,下午5点结束。那么持续时间为5-2=3小时。如果我从晚上10点开始打游戏,一直到凌晨2点,持续时间为24-22+2=4小时。

因此我们需要判断开始时间和结束时间的大小,如果结束时间>开始时间,持续时间为结束-开始;如果结束时间<开始时间,说明结束时间为第二天,应该用24点-开始时间+结束时间

代码如下:

//游戏时间
//读取2个整数A和B,表示游戏的开始时间和结束时间,以时间为单位
//计算游戏的持续时间,已知游戏可以在一天开始并在另一天结束
//最长持续时间为24小时
//如果A和B相等,则视为持续了24小时
//输入供一行,包含2个整数A和B
//输出格式为"O JOGO DUROU X HORA(S)",其中,X为游戏持续时间int main1() {int A, B;cin >> A >> B;int ret;if (B > A) {ret = B - A;}else {ret = 24 - A + B;}cout << "O JOGO DUROU " << ret << " HORA(S)" << endl;return 0;
}

第10题  加薪

代码如下:

//加薪
//公司决定给员工加薪,加薪情况如下所示
//		薪水			涨薪幅度
//	  0~400.00			  15%
//  400.01~800.00		  12%
//  800.01~1200.00        10%
// 1200.01~2000.00         7%
// 超过 2000.00			   4%//读取员工的工资,计算并输出员工的新工资,
//以及员工增加的收入和涨薪幅度//输入共一行,包含一个保留2位小数的浮点数
int main() {double salary;			//员工工资cin >> salary;double new_salary;		//新工资double harvest;			//增加的收入double ret;				//涨薪幅度if (salary >= 0 && salary <= 400) {new_salary = salary * 1.15;harvest = new_salary - salary;ret = 0.15;}else if (salary > 400 && salary <= 800) {new_salary = salary * 1.12;harvest = new_salary - salary;ret = 0.12;}else if (salary > 800 && salary <= 1200) {new_salary = salary * 1.10;harvest = new_salary - salary;ret = 0.10;}else if (salary > 1200 && salary <= 2000) {new_salary = salary * 1.07;harvest = new_salary - salary;ret = 0.07;}else {new_salary = salary * 1.04;harvest = new_salary - salary;ret = 0.04;}printf("员工的新工资为: %.2lf\n", new_salary);printf("员工增加的收入为: %.2lf\n", harvest);printf("涨薪幅度为: %.0lf %%\n", ret * 100);return 0;
}

方法二:

int main() {double salary;			//员工工资cin >> salary;double ret;				//涨薪幅度if (salary <= 400)  ret = 0.15;else if (salary <= 800)  ret = 0.12;else if (salary <= 1200) ret = 0.10;else if (salary <= 2000) ret = 0.07;else ret = 0.04;printf("员工的新工资为: %.2lf\n", salary * (1 + ret));printf("员工增加的收入为: %.2lf\n", ret * salary);printf("涨薪幅度为: %.0lf %%\n", ret * 100);return 0;
}

第11题  动物

代码如下:

//动物
//给定3个单词,这些词将根据下表从左到右定义一个动物
//请你确定并输出这个动物的名称int main() {string a, b, c;cin >> a >> b >> c;if (a == "vertebrado") {if (b == "ave") {if (c == "carnivoro")cout << "aguia" << endl;elsecout << "pomba" << endl;}else if (b == "mamifero") {if (c == "onivoro")cout << "homem" << endl;elsecout << "vaca" << endl;}}else if (a == "invertebrado") {if (b == "inseto") {if (c == "hematofago")cout << "pulga" << endl;else cout << "lagarta" << endl;}else if (b == "anelideo") {if (c == "hematofago")cout << "sanguessuga" << endl;elsecout << "minhoca" << endl;}}return 0;
}

第12题  选择练习1

代码如下:

//选择练习1
//读取4个整数值A,B,C,D
//如果4个整数值同时满足以下条件
// 1.B>C
// 2.D>A
// 3.C+D>A+B
// 4.C>0,D>0
// 5.A是偶数
// 则输出"Valores aceitos",否则,输出"Valores nao aceitos"//输入占一行,包含4个整数A,B,C,D
//如果输入数值满足题目条件则输出"Valores aceitos"
//否则输出"Valores nao aceitos"
int main5() {int A, B, C, D;cin >> A >> B >> C >> D;if (B > C && D > A && ((C + D) > (A + B)) && C > 0 && D > 0 && (A % 2 == 0)) {cout << "Valores aceitos" << endl;}else {cout << "Valores nao aceitos" << endl;}return 0;
}

第13题  城市名称

代码如下:

//给定一个整数,根据下表确定并输出其对应的城市名称:
//  编号                 城市名称
//   61                   Brasilia
//   71                   Salvador
//   11                   Sao Paulo
//   21                Rio de Janeiro
//   32                Juiz de Fora
//   19                   Campinas
//   27                    Vitoria
//   31                Belo  Horizonte
//如果输入数字不在上表中,则输出"DDD nao cadastrado"int main() {int num;cin >> num;if (num == 61)        cout << "Brasilia" << endl;else if (num == 71)   cout << "Salvador" << endl;else if (num == 11)   cout << "Sao Paulo" << endl;else if (num == 21)   cout << "Rio de Janeiro" << endl;else if (num == 32)   cout << "Juiz de Fora" << endl;else if (num == 19)   cout << "Campinas" << endl;else if (num == 27)   cout << "Vitoria" << endl;else if (num == 31)   cout << "Belo  Horizonte" << endl;else cout << "DDD nao cadastrado" << endl;return 0;
}

第14题  坐标

 代码如下:

//坐标
//给定2个保留1位小数的浮点数X,Y,用来表示一个点的横纵坐标
//请你判断该点在坐标系中的位置
//共一行,包含2个浮点数X,Y,表示点的横纵坐标
//如果点在第一象限,则输出"Q1",在第二象限,则输出"Q2"....
//如果点在原点处,则输出"Origem"
//如果点在x坐标轴上,则输出"Eixo X";在y坐标轴上,则输出"Eixo Y"int main() {double x, y;    //点的横纵坐标cin >> x >> y;if (x == 0 && y == 0) cout << "Origem" << endl;else if (y == 0)      cout << "Eixo X" << endl;else if (x == 0)      cout << "Eixo Y" << endl;if (x > 0 && y > 0)       cout << "Q1" << endl;else if (x < 0 && y > 0)  cout << "Q2" << endl;else if (x < 0 && y < 0)  cout << "Q3" << endl;else if (x > 0 && y < 0)  cout << "Q4" << endl;return 0;
}

 第15题  三角形类型

注意:等边三角形一定是锐角三角形,不能是直角、钝角三角形。等腰三角形有可能是锐角三角形或者钝角三角形。

此外,题目明确输入的3个数随机,需要排成降序。我们可以在main函数外面定义Swap函数,在main函数中直接调用即可。

代码如下:

//三角形类型
//读取表示三角形3条边的3个浮点数(A,B,C),
//并按照降序排列,使A边是三边中最大的一边
//根据以下情况,确定它们可以组成的三角形类型:
//如果 A >= B + C ,
//则说明三条边不能构成三角形,请输出"NAO FORMA TRIANGULO"
//否则,说明三条边可以构成三角形,按照如下情况输出:
//如果 A*A = B*B + C*C , 请输出: TRIANGULO RETANGULO
//如果 A*A > B*B + C*C , 请输出: TRIANGULO OBTUSANGULO
//如果 A*A < B*B + C*C , 请输出: TRIANGULO ACUTANGULO
//如果三个边长度都相同 , 请输出: TRIANGULO EQUILATERO
//如果只有2个边长度相同而第3个边长度不同
//请输出: TRIANGULO ISOSCELES//输入共一行,包含3个浮点数A,B,C
//输出A,B,C组成的三角形的类型
//上述条件可能满足不止一条,
//这种情况下将所有类型名称,按照题目介绍顺序输出,每行输出一条//排降序
void Swap(double& m, double& n) {int temp = m;m = n;n = temp;
}int main() {double a, b, c;cin >> a >> b >> c;if (a < b) Swap(a, b);if (a < c) Swap(a, c);if (b < c) Swap(b, c);if (a >= b + c)  cout << "不构成三角形" << endl;else {if (a * a == b * b + c * c)			 cout << "直角三角形" << endl;else if (a * a > b * b + c * c)		 cout << "钝角三角形" << endl;else if (a * a < b * b + c * c)		 cout << "锐角三角形" << endl;if (a == b && b == c)			     cout << "等边三角形" << endl;else if (a == b || a == c || b == c) cout << "等腰三角形" << endl;}return 0;
}

第16题  游戏时间2

诶,刚刚我们做了游戏时间1,这道题和上一道题有啥不一样的地方呢?

噢,现在是用小时和分钟来分别表示开始时间和结束时间。比如,开始时间为下午2点10分,结束时间为下午5点30分,一共持续了3个小时20分钟。再比如,开始时间为晚上22点30分,结束时间为凌晨3点50分,一共持续了2个小时20分钟。

但是,这只是我们人思考的方式。那么,怎么将这种方式转化为计算机能够执行的代码呢?

我们可以统一单位,将小时转换为分钟进行计算。最后将分钟转换为小时。 

思路:定义变量start和end分别表示开始时间和结束时间(统一将小时转换为分钟),如果结束时间>开始时间,那么用end-start;如果结束时间<开始时间,用24×60分钟-开始时间+结束时间,最后将得出的结果/60,得到小时,将结果%60,得到分钟。

代码如下:

//游戏时间2
//读取4个整数A,B,C,D,用来表示游戏的开始时间和结束时间
//其中A和B为开始时刻的小时和分钟数
//C和D为结束时刻的小时和分钟数
//请你计算游戏的持续时间
//比赛最短持续1分钟,最长持续24小时
//输入共一行,包含4个整数A,B,C,D
//输出格式为"O JOGO DUROU X HORA(S) E Y MINUTO(S)",
//表示游戏共持续了X小时Y分钟int main() {int a, b, c, d;cin >> a >> b >> c >> d;//统一单位,全部转化成分钟int start = a * 60 + b;int end = c * 60 + d;int ret;if (end > start) {ret = end - start;}else {ret = 24 * 60 - start + end;}cout << "O JOGO DUROU  " << ret / 60 << "  HORA(S) E  " << ret % 60 << "  MINUTO(S)";return 0;
}

第17题  税

对于这道题,我们需要分段考虑。

比如,我的工资为5000元,0~2000元的部分不收税,2000~3000元部分税率为8%,3000~4500元部分税率为18%,超过4500元的部分,税率为28%。那么,需要缴纳的税为:(3000-2000)× 8% +(4500-3000)× 18% + (5000-4500)× 28% = 490元。

代码如下:

//税
//读取一个保留2位小数的浮点数值,表示一个公民的工资
//在公民缴纳个人所得税时,不同收入部分需要缴纳的税率也是不同的
//请根据下表确定该公民需要缴纳的个人所得税是多少
//      薪资					税率
//	   0.00~2000.00			     无
//	2000.01~3000.00				 8%
//	3000.01~4500.00				18%
//  4500元以上					28%//输入共一行,包含1个浮点数
//输出格式为"R$ X",其中,X为个税的金额,保留2位小数
//如果公民收入低于2000,则输出"Isento"//易错题!!!!
int main() {double salary;cin >> salary;double temp = salary;double y;double tax;double Sum = 0;if (temp < 2000) cout << "Isento" << endl;else {if (temp > 2000) {y = 3000;tax = 0.08;if (temp < y) y = temp;Sum += (y - 2000) * tax;}if (temp > 3000) {y = 4500;tax = 0.18;if (temp < y) y = temp;Sum += (y - 3000) * tax;}if (temp > 4500) {tax = 0.28;Sum += (temp - 4500) * tax;}printf("R$ %.2lf\n", Sum);}return 0;
}

第18题  简单排序

代码如下:

//简单排序
//读取3个数并按升序对它们进行排序
//输入共一行,包含3个整数
//首先,将3个整数按照升序顺序输出,每行输出一个整数
//接着,输出一个空行
//紧接着,将3个整数按原输出顺序输出,每行输出一个整数void Swap(int& m, int& n) {int temp = m;m = n;n = temp;
}int main() {int a, b, c;cin >> a >> b >> c;int x = a, y = b, z = c; //用x,y,z分别保存原来a,b,c的值if (a > b) Swap(a, b);if (a > c) Swap(a, c);if (b > c) Swap(b, c);cout << a << endl << b << endl << c << endl << endl;cout << x << endl << y << endl << z << endl;return 0;
}

第19题  一元二次方程式

代码如下:

//一元二次方程公式
//读取3个浮点数a,b,c的值,
//利用一元二次方程求根公式对方程ax^2+bx+c = 0,进行求解
//一元二次方程求根公式为: 
// x1 = -b+sqrt(b^2-4ac)/2a ; x2 = -b-sqrt(b^2-4ac)/2a
//如果 b^2-4ac < 0,导致方程无解或 a = 0,则输出"Impossivel calcular"
//输入3个浮点数a,b,c
//参照输出格式,输出方程的根
//输出结果保留5位小数,如果无解则输出"Impossivel calcular"
//2个根可以按任意顺序输出,都算正确
//数据保证不存在只有1个解的情况int main() {double a, b, c;cin >> a >> b >> c;double x1, x2;double delt = b * b - 4 * a * c;if (delt < 0 || a == 0) cout << "Impossivel calcular" << endl;else {x1 = (-b + sqrt(delt))  / (2 * a);x2 = (-b - sqrt(delt))  / (2 * a);printf("R1 = %.5lf\n", x1);printf("R2 = %.5lf\n", x2);}return 0;
}

第20题  平均数3

代码如下:

//平均数3
//读取4个数字N1,N2,N3,N4,
//这4个数字都是保留1位小数的浮点数,对应于学生获得的4个分数
//这4个分数的权重分别为2,3,4,1
//请计算学生成绩的平均值X并输出"Media: X"
//接下来分为以下3种情况:
// 1.如果平均值为7.0或更高,则输出"Aluno aprovado."
// 2.如果平均值小于5.0,则输出"Aluno reprovado."
// 3.如果平均值介于5.0和7.0之间,则输出"Aluno em exame."
//并再读取一个数字Y,然后输出"Nota do exame: Y"
//接下来重新计算平均值 Z = (X+Y)/2,
//如果 Z>=5.0 ,则输出"Aluno aprovado."
//否则输出"Aluno reprovado."
//最后输出"Media final: Z",表示学生的最终成绩//输入中包含4个浮点数,表示学生的4个成绩
//也有部分满足情况3的数据,多包含一个浮点数
//输出的结果均保留1位小数,具体形式参照题目描述和输出样例int main() {double n1, n2, n3, n4;scanf("%lf%lf%lf%lf", &n1, &n2, &n3, &n4);double X;X = (2 * n1 + 3 * n2 + 4 * n3 + 1 * n4) / (2 + 3 + 4 + 1);printf("Media: %.1lf\n", X);if (X >= 7.0) cout << "Aluno aprovado." << endl;else if (X < 5.0) cout << "Aluno reprovado." << endl;else {cout << "Aluno em exame." << endl;double Y;scanf("%lf", &Y);printf("Nota do exame: %.1lf\n", Y);double Z = (X + Y) / 2;if (Z >= 5.0) cout << "Aluno aprovado." << endl;else cout << "Aluno reprovado." << endl;printf("Media final: %.1lf\n", Z);}return 0;
}

片尾

今天我们学习了C++蓝桥杯基础篇(二),希望这篇文章对友友们有所帮助!!!

求点赞收藏加关注!!!

谢谢大家!!!

相关文章:

C++蓝桥杯基础篇(二)

片头 嗨&#xff01;小伙伴们&#xff0c;今天我们将学习C蓝桥杯基础篇&#xff08;二&#xff09;&#xff0c;继续练习相关习题&#xff0c;准备好了吗&#xff1f;咱们开始咯~ 第1题 简单计算器输入两个数&#xff0c;以及一个运算符 &#xff0c;-&#xff0c;*&#xff…...

【Android—OpenCV实战】实现霍夫圆检测针对沙盘交通灯信号检测

文章目录 Android OpenCV实战&#xff1a;霍夫圆检测实现沙盘交通灯智能识别&#x1f31f; 引言&#xff1a;当计算机视觉遇见智慧交通&#x1f50d; 霍夫圆检测原理剖析&#x1f50d; 数学之美&#xff1a;参数空间转换&#x1f50d; 关键参数解析 &#x1f6e0; Android实现全…...

WPS如何接入DeepSeek(通过JS宏调用)

WPS如何接入DeepSeek 一、文本扩写二、校对三、翻译 本文介绍如何通过 WPS JS宏调用 DeepSeek 大模型&#xff0c;实现自动化文本扩写、校对和翻译等功能。 一、文本扩写 1、随便打开一个word文档&#xff0c;点击工具栏“工具”。 2、点击“开发工具”。 3、点击“查看代码”…...

图论——环检测

环检测以及拓扑排序 前言复习模版环检测-DFS版本环检测- BFS版本 前言 我觉得学习这些之前,一定要对图的数据结构和抽象模型有概念,并且图构建的代码模版应该手到擒来,不然还是挺折磨的,不是这差一点就是那差一点,写道力扣卡卡的非常烦人. 复习模版 我觉得单拿出来再说这个模…...

Chapter2:C#基本数据类型

参考书籍&#xff1a;《C#边做边学》&#xff1b; 2.C#基本数据类型 2.1 变量与常量 变量是程序运行过程中用于存放数据的存储单元&#xff0c;变量的值的程序运行过程中可以改变&#xff1b; 变量定义&#xff1a; 定义变量时&#xff0c;必须给每个变量起名&#xff0c;通过…...

kafka服务端之控制器

文章目录 概述控制器的选举与故障恢复控制器的选举故障恢复 优雅关闭分区leader的选举 概述 在Kafka集群中会有一个或多个broker&#xff0c;其中有一个broker会被选举为控制器&#xff08;Kafka Controler&#xff09;&#xff0c;它负责管理整个集群中所有分区和副本的状态。…...

Unity笔试常考

线程同步的几种方式 1.信号量pv操作 2.互斥加锁 3.条件变量 五层网络协议指的是哪五层 1.应用层 2.运输层 3.网络层 4.链路层 5.物理层 TCP和UDP区别 tcp 面向连接&#xff0c;保证发送顺序&#xff0c;速度慢&#xff0c;必须在线&#xff0c;三次握手&#xff0c;4次挥手…...

移植BOA服务器到GEC2440开发板

所需软件:boa-0.94.13.tar.tar(下载:http://www.boa.org/boa-0.94.13.tar.gz) 步骤: 设置好交叉编译工具链。 1、解压下载好的压缩包(tar xzvf boa-0.94.13.tar.tar),并进入解压后的目录(cd boa-0.94.13),再进行如下操作: 先进入到src目录(下面操作都是在该目录下进行…...

WPS如何接入DeepSeek(通过第三方工具)

WPS如何接入DeepSeek 一、下载并安装OfficeAI插件二、配置OfficeAI插件三、使用DeepSeek功能 本文介绍如何通过 WPS 的第三方工具调用 DeepSeek 大模型&#xff0c;实现自动化文本扩写、校对和翻译等功能。 一、下载并安装OfficeAI插件 1、访问OfficeAI插件下载地址&#xff…...

【安当产品应用案例100集】037-强化OpenVPN安全防线的卓越之选——安当ASP身份认证系统

在当前数字化时代&#xff0c;网络安全已成为企业发展的重要组成部分。对于使用OpenVPN的企业而言&#xff0c;确保远程访问的安全性尤为重要。安当ASP身份认证系统凭借其强大的功能和便捷的集成方式&#xff0c;为OpenVPN的二次登录认证提供了理想的解决方案&#xff0c;特别是…...

Windows Docker笔记-制作、加载镜像

引言 在文章《Windows Docker笔记-在容器中运行项目》中&#xff0c;已经在容器中运行了项目。而且在这个容器中&#xff0c;已经调试好了项目运行的环境。 使用docker&#xff0c;就是为了在项目发布到生产环境时&#xff0c;不用再去安装项目运行的环境&#xff0c;直接丢给…...

leetcode_26删除有序数组中的重复项

1. 题意 给定一个重复数组&#xff0c;删除其中的重复项目。 2. 题解 双指针 一个指针指向有序不重复数组的最后一个数&#xff0c;另外一个数遍历整个数组&#xff0c;若两个指针对应用的数不相同&#xff0c;有序数组的指针右移&#xff0c;将数填入。 代码一 class Sol…...

速递丨DeepSeek刚刚成立香港子公司,或因考虑香港上市和招募全球AI人才

图片来源&#xff1a;DeepSeek 根据彭博社和财联社报道&#xff0c;DeepSeek 2月5日在香港成立了两家公司——DeepSeek Limited 和 DeepSeek (HK) Limited。 香港中文大学莊太量教授表示&#xff0c;DeepSeek进军香港将推动该市的金融科技发展。如果DeepSeek考虑在香港上市&a…...

笔灵ai写作技术浅析(六):智能改写与续写

笔灵AI写作中的智能改写和续写技术是其核心功能之一,旨在帮助用户生成高质量、多样化的文本内容。 一、智能改写技术 1. 基本原理 智能改写的目标是在保持原文语义不变的前提下,对文本进行重新表述,生成语法正确、语义连贯且风格多样的新文本。其核心思想是通过语义理解和…...

【在线优化】【有源程序】基于遗传算法(GA)和粒子群优化(PSO)算法的MPPT控制策略

目录 一、背景 二、源程序及结果 2.1 simulink仿真程序 2.2 GA模块源程序 2.3 PSO模块源程序 三、程序运行结果 3.1 基于GA优化的MPPT 3.2 基于PSO优化的MPPT 一、背景 MPPT策略能够显著提高光伏、风电等发电效率&#xff0c;节省大量成本。该策略的经典算法是&#xf…...

使用 Three.js 实现热力渐变效果

大家好&#xff01;我是 [数擎 AI]&#xff0c;一位热爱探索新技术的前端开发者&#xff0c;在这里分享前端和 Web3D、AI 技术的干货与实战经验。如果你对技术有热情&#xff0c;欢迎关注我的文章&#xff0c;我们一起成长、进步&#xff01; 开发领域&#xff1a;前端开发 | A…...

java-异常家族梳理(流程图)

前言: 使用流程图梳理异常,便于理解 梳理: Throwable ├── Error(严重错误,无需捕获) │ ├── OutOfMemoryError │ ├── StackOverflowError │ └── ... ├── Exception(可捕获处理) │ ├── RuntimeException(非检查异常/Unchecked) │ …...

开启蓝耘之旅:DeepSeek R1 模型在智算平台的起步教程

----------------------------------------------------------我的个人主页-------------------- 动动你的手指----------------------------------------点赞&#x1f44d; 收藏❤--------------------------------------------------------------- 引言 在深度学习的广袤领…...

[高等数学]不定积分的概念与性质

一、知识点 &#xff08;一&#xff09;原函数与不定积分的概念 定义1&#xff08;原函数&#xff09; 如果在区间 I I I 上&#xff0c;可导函数 F ( x ) F(x) F(x) 的导函数为 f ( x ) f(x) f(x)&#xff0c;即对任一 x ∈ I x\in I x∈I&#xff0c;都有 F ′ ( x )…...

【算法】【高精度】acwing算法基础 793. 高精度乘法

题目 给定两个非负整数&#xff08;不含前导 0&#xff09; A 和 B&#xff0c;请你计算 AB 的值。 输入格式 共两行&#xff0c;第一行包含整数 A&#xff0c;第二行包含整数 B。 输出格式 共一行&#xff0c;包含 AB 的值。 数据范围 1≤A的长度≤100000, 0≤B≤10000 输入样…...

sqlite 查看表结构

在SQLite中&#xff0c;查看表结构通常有以下几种方法&#xff1a; 使用.schema命令 在SQLite的命令行界面中&#xff0c;你可以使用.schema命令加上表名来查看该表的结构。例如&#xff0c;如果你想查看名为your_table_name的表结构&#xff0c;你可以这样做&#xff1a; .s…...

测试中的第一性原理:回归本质的质量思维革命

在软件工程领域&#xff0c;测试活动常被惯性思维和经验主义所主导——测试用例库无限膨胀、自动化脚本维护成本居高不下、测试策略与业务目标渐行渐远。要突破这种困境&#xff0c;第一性原理&#xff08;First Principles Thinking&#xff09;提供了独特的解题视角&#xff…...

flink判断两个事件之间有没有超时(不使用CEP)

1.为啥不使用cep呢&#xff0c;cep的超时时间设置不好配置化&#xff0c;无法满足扩展要求 2.超时怎么界定。A事件发生后&#xff0c;过了N时间&#xff0c;还没有收到B事件&#xff0c;算超时。 代码如下&#xff1a; import com.alibaba.fastjson.JSONObject; import lombo…...

二级C语言题解:十进制转其他进制、非素数求和、重复数统计

目录 一、程序填空&#x1f4dd; --- 十进制转其他进制 题目&#x1f4c3; 分析&#x1f9d0; 二、程序修改&#x1f6e0;️ --- 非素数求和 题目&#x1f4c3; 分析&#x1f9d0; 三、程序设计&#x1f4bb; --- 重复数统计 题目&#x1f4c3; 分析&#x1f9d0; 前言…...

打家劫舍3

今天和打家讲一下打家劫舍3 题目&#xff1a; 题目链接&#xff1a;337. 打家劫舍 III - 力扣&#xff08;LeetCode&#xff09; 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口&#xff0c;我们称之为root。 除了 root 之外&#xff0c;每栋房子有且只有一个“父“…...

练习题(2025.2.9)

题目背景 “咚咚咚……”“查水表&#xff01;”原来是查水表来了&#xff0c;现在哪里找这么热心上门的查表员啊&#xff01;小明感动得热泪盈眶&#xff0c;开起了门…… 题目描述 妈妈下班回家&#xff0c;街坊邻居说小明被一群陌生人强行押上了警车&#xff01;妈妈丰富…...

【练习】PAT 乙 1074 宇宙无敌加法器

题目 地球人习惯使用十进制数&#xff0c;并且默认一个数字的每一位都是十进制的。而在PAT星人开挂的世界里&#xff0c;每个数字的每一位都是不同进制的&#xff0c;这种神奇的数字称为“PAT数”。每个PAT星人都必须熟记各位数字的进制表&#xff0c;例如“……0527”就表示最…...

网络防御高级02-综合实验

web页面&#xff1a; [FW]interface GigabitEthernet 0/0/0 [FW-GigabitEthernet0/0/0]service-manage all permit 需求一&#xff0c;接口配置&#xff1a; SW2: [Huawei]sysname SW2 1.创建vlan [sw2]vlan 10 [sw2]vlan 20 2.接口配置 [sw2]interface GigabitEther…...

UITableView的复用原理

UITableView复用的基本原理是Cell复用机制&#xff0c;它通过重用已经创建的Cell来减少内存开始并提高性能&#xff0c;避免频繁创建和销毁Cell。 复用的流程 1.队列管理 UITableView维护一个可复用队列&#xff08;reuse queue&#xff09;&#xff0c;存储离屏的UITableVi…...

SQL条件分支中的大讲究

在SQL中&#xff0c;条件分支用于根据不同的条件执行不同的操作&#xff0c;适用于数据查询、数据更新以及存储过程等场景。合理使用SQL条件分支&#xff0c;可以优化数据操作流程&#xff0c;提高代码的可读性和可维护性。 目录 1. 逻辑判断的基本概念 2. CASE 语句&#xf…...