朋友用我的vps做网站/代发推广百度首页包收录

朋友用我的vps做网站,代发推广百度首页包收录,wordpress菜单页面定位,给公司做宣传网站的好处片头 嗨~小伙伴们,大家好!今天我们来学习C蓝桥杯基础篇(四),继续练习相关习题。准备好了吗?咱们开始咯~ 题目1 连续整数相加 思路分析: 这道题,我们可以把从键盘中读取n写在while循…
片头

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


题目1  连续整数相加

思路分析:

这道题,我们可以把从键盘中读取n写在while循环条件里面,while(cin >> n),题目中明确指出:如果读入的n为0或者负数,则继续读取数字直至读入n值为正整数为止。因此,只要 n<=0,我们就不停的读取n,不作任何处理。

while循环条件应为:while(cin >> n,n<=0); 只要 n>0,立马跳出循环,作后续判断。

代码如下:

//连续整数相加
//读入2个整数值a和n,计算从a开始的n个连续整数的和
//注意,如果读入的n为0或为负数,则继续读取数字直至读入n值为正整数为止
//输入共一行,包含整数a和若干个整数n
//输出一个整数,表示从a开始的n个连续整数的和int main() {int a;cin >> a;int n;while (cin >> n , n <= 0);   //此处执行语句为空语句int sum = a;for (int i = 1; i < n; i++) {sum += a + i;}cout << "从 "<<a<<" 开始的 "<< n << " 个连续整数的和为: " << sum << endl;return 0;
}

题目2  约数

代码如下:

//约数
//输入1个整数n,按照从小到大的顺序输出它的全部约数、
//输入一个整数n
//输出全部约数,每个约数占1行int main() {int n;cin >> n;for (int i = 1; i < n; i++) {if (n % i == 0)            //如果 n % i == 0,说明n可以被i整除cout << i << endl;}return 0;
}

题目3  PUM

思路分析:

题目要求说,构造一个n行m列的矩阵,我们可以使用循环嵌套:

①外层的for循环控制行数,里面的for循环控制列数。

②定义变量k,表示矩阵中的数字。

③规定将每行的最后一个数字变为PUM,则里面的for循环的取值范围 0~m-2,从第0列~第m-2列,数字k都可在矩阵中出现。

④第m-1列,打印"PUM",打印完毕后,k自动加1。每打印完一行,执行换行操作。

代码如下:

//PUM
//输入2个整数n和m,构造一个n行m列的数字矩阵
//矩阵中的数字从第一行到最后一行
//按从左到右的顺序依次为 1,2,3,4,...,n*m
//矩阵构造完成后,将每行的最后一个数字变为PUM
//输出最终矩阵int main3() {int n, m;cin >> n >> m;for (int i = 0, k = 1; i < n; i++)        //打印n行,i的取值范围 0~n-1{for (int j = 0; j < m-1; j++, k++)    //打印m-1行,j的取值范围 0~m-2{cout << k << " ";}cout << "PUM" << endl;                //最后一列打印"PUM"k++;                                  //打印完毕后,k自动加1}return 0;
}

题目4  余数

代码如下:

//余数
//输入一个整数n
//请按顺序输出1~10000之间(不包括1~10000)的所有除以n余2的数字
//输入1个整数n
//输出所有满足条件的数字,从小到大每行输出1个int main() {int n;cin >> n;for (int i = 2; i < 10000; i++) {if (i % n == 2) {cout << i << endl;}}return 0;
}

题目5  六个奇数

题目说,读取一个整数x,输出x之后的6个奇数。如果该x为偶数,那么输出6个奇数;如果该x为奇数,那么它也算作6个奇数之一,后面只用输出5个奇数。咱们可以先判断x是否为奇数,如果不是奇数,将x加1变成奇数即可。接着只需要用for循环输出6个奇数。

代码如下:

//6个奇数
//读取1个整数x,输出x之后的6个奇数
//如果x也是奇数,那么它也算作6个奇数之一
//输入1个整数x
//输出满足条件的奇数,每个占一行int main() {int x;cin >> x;cout << endl;if (x % 2 == 0) x = x + 1;  //如果输入的x本身就是奇数,则不需要执行if条件里面的语句int ret;for (int i = 0; i < 6; i++) {ret = x + 2 * i;cout << ret << endl;}return 0;
}

题目6  乘法表

 代码如下:

//乘法表
//输入一个整数n,输出n的乘法表,如下:
// 1 × n = n
// 2 × n = 2n
// 3 × n = 3n
// 4 × n = 4n
// 5 × n = 5n
// ...
// 10 × n = 10n
//输入一个整数n
//输出n的乘法表int main() {int n;cin >> n;for (int i = 1; i <= 10; i++) {printf("%d × %d = %d\n", i, n, i * n);cout << endl;}return 0;
}

题目7  实验

分析思路:

①我们可以定义3个int型变量,C表示兔子的数量,R表示老鼠的数量,F表示青蛙的数量,初始化均为0。

②如果读取的字符T为'C',那么兔子的数量为 C += A;如果读取的字符T为'R',那么老鼠的数量为 R += A;如果读取的字符T为'F',那么兔子的数量为 F += A;

③动物总数为 C+R+F,求每种动物所占百分比,用 \frac{a}{a+b+c},最后乘以100%,保留2位小数。

代码如下: 

//实验
//医学部一共进行了n场动物实验。
//共有3种小动物可用来实验,分别是青蛙、老鼠和兔子。
//每次实验都会选取其中1种动物来参与实验,选取数量若干。
//请你统计一下医学部一共用了多少小动物
//每种分别用了多少,每种动物使用数量占总量的百分比是多少
//输入第一行包含整数n,表示实验次数
//接下来n行,每行包含一个整数a(表示一次实验使用的小动物的数量)
//和一个字符T(表示一次实验使用的小动物的类型)
//'c'表示兔子,'r'表示老鼠,'f'表示青蛙
//输出所用动物总数,每种动物的数量,以及每种动物所占百分比
//输出百分比时,保留2位小数int main() {int n;cin >> n;	//实验次数int C = 0;	//兔子int R = 0;	//老鼠int F = 0;	//青蛙int a;		//表示一次实验使用的小动物的数量char t;		//表示一次实验使用的小动物的类型while (n--) {cin >> a >> t;if (t == 'c') C += a;else if (t == 'r') R += a;else F += a;}printf("所用动物总数: %d\n", C + R + F);printf("兔子的数量为: %d\n", C);printf("老鼠的数量为: %d\n", R);printf("青蛙的数量为: %d\n", F);printf("兔子所占的百分比为: %.2lf %%\n", (1.0 * C) / (C + R + F) * 100);printf("老鼠所占的百分比为: %.2lf %%\n", (1.0 * R) / (C + R + F) * 100);printf("青蛙所占的百分比为: %.2lf %%\n", (1.0 * F) / (C + R + F) * 100);return 0;
}

题目8  区间2

代码如下:

//区间2
//读取n个整数x1,x2,x3,...,xn,
//判断这n个整数中有多少个在[10,20]的范围内,有多少个在范围外
//输入第一行包含整数n,表示共有n个整数需要进行判断
//接下来n行,每行包含一个整数xi
//第一行输出"x in",其中x为在范围内的整数的数量
//第二行输出"y out",其中y为在范围外的整数的数量int main() {int n;cin >> n;int k;int x = 0;int y = 0;while (n--) {cin >> k;if (k >= 10 && k <= 20) x++;  //在范围内的整数的数量else y++;                     //在范围外的整数的数量}cout << x << " in" << endl;cout << y << " out" << endl;return 0;
}

题目9  连续奇数的和2

注意:如果输入的x>y,咱们需要调用swap函数进行交换,保证x<=y。

代码如下:

//连续奇数的和2
//输入n对整数对x,y
//对于每对x,y,请你求出它们之间(不包括x和y)的所有奇数的和
//第一行输入整数n,表示共有n对测试数据
//接下来n行,每行输入一组整数x和y
//每对x,y输出一个占一行的奇数和int main() {int n;cin >> n;int x, y;int sum = 0;while (n--) {cin >> x >> y;if (x > y) swap(x, y);for (int i = x + 1; i < y; i++) {if (i % 2 == 1) {sum += i;}}cout << sum << endl;}return 0;
}

题目10  简单斐波那契

在之前的篇章中,我们讲过如何求斐波那契数列的第n项。这里,我们需要输出这个序列的前n项。

ab
f(1)=0f(2)=1
f(2)=1f(3)=1
f(3)=1f(4)=2
f(4)=2f(5)=3
f(5)=3f(6)=5
f(6)=5f(7)=8
f(7)=8f(8)=13
f(8)=13f(9)=21
f(9)=21f(10)=34
...

...

f(n-2)f(n-1)
f(n-1)f(n)
f(n)f(n+1)

 

我们要输出数列的前n项,那么只需要将数列打印出来即可。观察表格,a列就是我们需要打印的。

代码如下:

//简单斐波那契
//以下数列 0 1 1 2 3 5 8 13 21 ...被称为斐波那契数列
//这个数列从第3项开始,每一项都等于前2项之和
//输入一个整数n,请你输出这个数列的前n项
//输入一个整数n
//在一行中输出斐波那契数列的前n项,数字之间用空格隔开//  a      b
//  0      1   f(1)   f(2)
//  1      1   f(2)   f(3)
//  1      2   f(3)   f(4)
//  2      3   f(4)   f(5)
//  3      4   f(5)   f(6)
//  4      7   f(6)   f(7)
//....
// f(n-3) f(n-2)
// f(n-2) f(n-1)
// f(n-1) f(n)
// f(n)   f(n+1)int main() {int a = 0;		//第1项int b = 1;		//第2项int n;cin >> n;		//第n项for (int i = 1; i <= n; i++) {cout << a << " ";int c = a + b;a = b;b = c;}cout << endl;return 0;
}

题目11  数字序列和它的和

解题思路:

①这道题,我们可以把输入整数对m,n放在while循环条件里面,并且保证m>0 && n>0。当 m<=0或者n<=0时,不进入循环。while循环条件为:while(cin>>m>>n, m > 0 && n > 0)。

②如果m>n,调用swap函数交换值。使得m为最小值,n为最大值。用for循环输出从最小值到最大值的数字序列以及数字序列各数字之和。

代码如下:

//数字序列和它的和
//输入若干个整数对m,n
//对于每个整数对
//输出以这2个数为最大值和最小值的公差为1的等差数列
//注意,当输入整数对中
//任意一个数为0或负整数时,立即停止输入,且该组数对无需作任何处理
//输入共若干行,每行包含2个整数
//最后一行的2个整数中,至少有一个是非正整数
//对于每组需作处理的数对,输出一个结果,每个结果占一行
//结果包含从最小值到最大值的数字序列以及数字序列各数字之和int main() {int m, n;int sum = 0;while (cin >> m >> n , m > 0 && n > 0) {if (m > n) swap(n, m);for (int i = m; i <= n; i++) {cout << i << " ";sum += i;}cout << "Sum = " <<sum << endl;sum = 0;//每次计算完,sum必须归零cout << endl;}return 0;
}

 题目12  完全数

  这道题,最简单的做法:先求这个数的所有约数,用1~x-1来循环判断是否能被x整除,用一个变量sum来存储所有约数的和,如何sum和这个数本身相同,那么这个数则是完全数;否则不是完全数。

代码如下:

//完全数
//一个整数,除了本身以外的其他所有约数的和如果等于该数
//那么我们就称这个整数为完全数
//例如,6就是一个完全数
//因为它除了本身以外的其他约数的和为 1+2+3 = 6
//现在,给定你n个整数,请你依次判断这些数是否为完全数
//输入第一行包含整数n,表示共有n个测试用例
//接下来n行,每行包含一个需要你进行判断的整数x
//每个测试用例输出1个结果,每个结果占一行
//如果测试数据是完全数,则输出"X is perfect",其中x是测试数据
//如果测试数据不是完全数,则输出"X is not perfect",其中x是测试数据//基础版
int main() {int n;cin >> n;	                          //共有n个测试用例cout << endl;int x;while (n--) {cin >> x;int sum = 0;                     //每次计算完,sum必须归零for (int i = 1; i < x; i++) {if (x % i == 0) {            //求x的所有约数sum += i;}}if (sum == x) cout << x << " is perfect" << endl;else cout<< x << " is not perfect" << endl;}return 0;
}

但是如果每次输入的x都很大,那么循环判断1~x-1就会非常浪费时间,占用空间。有没有更好一点的方法呢?

有!打个比方:12的约数有1,2,6,3,4。约数都是成对出现的。

2是12的约数,那必然 12/2 = 6也是12的约数;3是12的约数,12/3 = 4也是12的约数。所以,我们在枚举约数的时候,枚举较小的约数即可。

d是x的约数,\frac{x}{d}也是x的约数。满足 d <= \frac{x}{d} 。 d^{2}<= x,d <= \sqrt{x}

因此,我们只需要循环条件为  i*i<=x ,先求出较小的约数,再用 x/i 求出另外一个较大的约数即可。不必再用 i < x-1 了。

举个例子:x为36,i*i<=x,i 的可取值为1,2,3,4,6(较小的约数)。那么相对应的 x/i 为 36,18,12,9,6(较大的约数)。但是,约数不能自身,因此,我们需要去除36,对应的条件为 x/i < x;并且,2个约数不能相同,"6"只能出现1次,对应的条件为: i != x/i ;

代码如下:

//优化版
int main() {int n;cin >> n;	//共有n个测试用例cout << endl;int x;while (n--) {cin >> x;int sum = 0;//每次计算完,sum必须归零for (int i = 1; i*i <= x; i++) {   //只需要判断i*i是否小于等于x即可,先求出较小的约数if (x % i == 0) {if (i < x) sum += i;       //如果此时的i小于x,保存到sum里面if (x / i != i && x / i < x) sum += x / i;//如果满足2个约数不同,并且较大的约数也小于自身x,那么保存到sum里面}}if (sum == x) cout << x << " is perfect" << endl;else cout << x << " is not perfect" << endl;}return 0;
}

题目13  质数

质数:只能被1和自身整除的数。在之前的练习中已经做过,我们不再阐述。

代码如下:

//质数
//一个大于1的自然数,如果除了1和它自身外,不能被其他自然数整除
//7就是质数,因为它只能被1和7整除
//给定你n个大于1的自然数,判断这些数是否为质数
//输入第一行包含整数n,表示共有n个测试数据
//接下来的n行,每行包含1个自然数x
//每个测试用例输出1个结果,每个结果占1行
//如果测试数据是质数,则输出"X is prime",x为测试数据
//如果测试数据不是质数,则输出"X is not prime",x为测试数据int main() {int n;cin >> n;int x;while (n--) {cin >> x;bool flag = true; //假设为质数for (int i = 2; i * i <= x; i++) {if (x % i == 0) {    //如果x能被i整除,说明x不是质数flag = false;    //flag标记为falsebreak;}}if (flag) cout << x << " is prime" << endl;else cout<< x << " is not prime" << endl;}return 0;
}

题目14  打印菱形

 

运用曼哈顿距离,|x1-cx|+|y1-cy|<=n/2,在上一篇中,我们已经详细阐述了,这里不再赘述。

代码如下:

//打印菱形
int main14() {int n;cin >> n;//中心点的坐标(n/2,n/2)int cx = n / 2;int cy = n / 2;//先打印n行n列的矩阵for (int i = 0; i < n; i++) {for (int j = 0; j < n; j++) {if (abs(i - cx) + abs(j - cy) <= n / 2) {  //如果点和中心原点的距离<=n/2,打印"*"printf("*");}else {                                     //如果点和中心原点的距离>n/2,打印" "printf(" ");}}cout << endl;                                  //打印完1行,换行}return 0;
}

片尾

今天我们练习了循环相关的习题,希望对友友们有所帮助!!!

点赞收藏加关注!!!

谢谢大家!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/895931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv12从入门到入土(含结构图)

论文链接&#xff1a;https://arxiv.org/abs/2502.12524 代码链接&#xff1a;https://github.com/sunsmarterjie/yolov12 文章摘要&#xff1a; 长期以来&#xff0c;增强YOLO框架的网络架构一直至关重要&#xff0c;但一直专注于基于cnn的改进&#xff0c;尽管注意力机制在建…

【iOS】SwiftUI状态管理

State ObservedObject StateObject 的使用 import SwiftUIclass CountModel: ObservableObject {Published var count: Int 0 // 通过 Published 标记的变量会触发视图更新init() {print("TimerModel initialized at \(count)")} }struct ContentView: View {State…

(LLaMa Factory)大模型训练方法--监督微调(Qwen2-0.5B)

1、准备训练数据&#xff1a;SFT 的数据格式有多种&#xff0c;例如&#xff1a;Alpaca格式、OpenAI格式等。 #其中Alpaca格式如下&#xff1a;[{"instruction":"human instruction (required)","input":"human input (optional)",&qu…

Sojson高级加密技术科普

1. 引言 什么是Sojson&#xff1f; Sojson是一款用于JavaScript代码加密与混淆的工具&#xff0c;它能够有效保护前端代码的知识产权&#xff0c;避免开发者的心血被随意窃取。 为什么需要代码加密&#xff1f; 在当今的互联网环境下&#xff0c;代码被轻易复制、篡改或逆向…

自制简单的图片查看器(python)

图片格式&#xff1a;支持常见的图片格式&#xff08;JPG、PNG、BMP、GIF&#xff09;。 import os import tkinter as tk from tkinter import filedialog, messagebox from PIL import Image, ImageTkclass ImageViewer:def __init__(self, root):self.root rootself.root.…

【核心算法篇十三】《DeepSeek自监督学习:图像补全预训练方案》

引言:为什么自监督学习成为AI新宠? 在传统监督学习需要海量标注数据的困境下,自监督学习(Self-Supervised Learning)凭借无需人工标注的特性异军突起。想象一下,如果AI能像人类一样通过观察世界自我学习——这正是DeepSeek图像补全方案的技术哲学。根据,自监督学习通过…

使用DeepSeek+本地知识库,尝试从0到1搭建高度定制化工作流(自动化篇)

7.5. 配图生成 目的&#xff1a;由于小红书发布文章要求图文格式&#xff0c;因此在生成文案的基础上&#xff0c;我们还需要生成图文搭配文案进行发布。 原实现思路&#xff1a; 起初我打算使用deepseek的文生图模型Janus进行本地部署生成&#xff0c;参考博客&#xff1a;De…

Redis_基础

Redis 命令启动、配置密码 Redis是绿色软件&#xff0c;所以直接解压就能使用 配置文件为&#xff1a;redis.windows.conf 启动redis 服务&#xff1a; redis-server.exe redis.windows.conf启动客户端&#xff1a; redis-cli.exe默认没有给Redis配置密码&#xff0c;所以在…

网络通信基础:端口、协议和七层模型详解,网络安全零基础入门到精通实战教程!

一、端口和协议的概念 1.在网络技术中&#xff0c;端口(Port) 大致有两种意思&#xff1a; 一是物理意义上的端口&#xff0c;比如&#xff0c;ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口&#xff0c;如RJ-45端口、SC端口等等。 二是逻辑意义上的端口&…

Bug:Goland debug失效详细解决步骤【合集】

Bug&#xff1a;Goland debug失效详细解决步骤【合集】 今天用Goland开发时&#xff0c;打断点&#xff0c;以debug方式运行&#xff0c;发现程序并没有断住&#xff0c;程序跳过了断点&#xff0c;直接运行结束。网上搜寻了大量文章&#xff0c;最后得以解决&#xff0c;特此在…

pycharm社区版有个window和arm64版本,到底下载哪一个?还有pycharm官网

首先pycharm官网是这一个。我是在2025年2月16日9:57进入的网站。如果网站还没有更新的话&#xff0c;那么就往下滑一下找到 community Edition,这个就是社区版了免费的。PyCharm&#xff1a;适用于数据科学和 Web 开发的 Python IDE 适用于数据科学和 Web 开发的 Python IDE&am…

WordPress Ai插件:支持提示词生成文章和chat智能对话

源码介绍 适用于 WordPress 的 AI 助手开源免费插件展开介绍&#xff0c;包含插件功能、使用说明、注意事项等内容&#xff0c;为 WordPress 用户提供了一个集成多种 AI 模型的工具选择。 插件概述&#xff1a;插件名称为小半 WordPress AI 助手&#xff0c;支持多种 AI 模型&…

Spring Boot02(数据库、Redis)---java八股

数据库相关 Mybatis的优缺点 优点&#xff1a; 基于 SQL 语句编程&#xff0c;相当灵活&#xff0c;不会对应用程序或者数据库的现有设计造成任何影响&#xff0c;SQL 写在 XML 里&#xff0c;解除 sql 与程序代码的耦合&#xff0c;便于统一管理&#xff1b;提供 XML 标签&am…

【LeetCode】LCR 139. 训练计划 I

题目 教练使用整数数组 actions 记录一系列核心肌群训练项目编号。为增强训练趣味性&#xff0c;需要将所有奇数编号训练项目调整至偶数编号训练项目之前。请将调整后的训练项目编号以 数组 形式返回。 示例 1&#xff1a; 输入&#xff1a;actions [1,2,3,4,5] 输出&#…

波导阵列天线 学习笔记9 使用紧凑高效率馈网的宽带圆极化阵列天线

摘要&#xff1a; 一种宽带圆极化波导阵列天线在本文中提出。所提出的阵列天线包括四个反向对称的(antipodally)脊单元和一个有着插入阶梯腔体的两个正交膜片的紧凑型馈网。两个器件都是宽带的并且它们能独立地或者一起工作。所提出的拓扑给出了一种为大规模阵列的基础的2x2波导…

Mybatis MyBatis框架的缓存 一级缓存

1. 缓存的概念 缓存的概念 在内存中临时存储数据&#xff0c;速度快&#xff0c;可以减少数据库的访问次数。经常需要查询&#xff0c;不经常修改的数据&#xff0c;不是特别重要的数据都适合于存储到缓存中。 2.Mybatis缓存 mybatis包含了一个非常强大的查询缓存特性&#…

【EndNote】WPS 导入EndNote 21

写在前面&#xff1a;有没有人有激活码&#xff0c;跪求&#xff01; EndNote&#xff0c;在文献管理和文献引用方面很好用。写文章的时候&#xff0c;使用EndNote引入需要的文献会很方便。我目前用的WPS&#xff0c;想把EndNote的CWYW&#xff08;Cite While You Write&#…

RT-Thread+STM32L475VET6实现红外遥控实验

文章目录 前言一、板载资源介绍二、具体步骤1. 确定红外接收头引脚编号2. 下载infrared软件包3. 配置infrared软件包4. 打开STM32CubeMX进行相关配置4.1 使用外部高速时钟&#xff0c;并修改时钟树4.2 打开定时器16(定时器根据自己需求调整)4.3 打开串口4.4 生成工程 5. 打开HW…

【HarmonyOS Next】鸿蒙应用进程和线程详解

【HarmonyOS Next】鸿蒙应用进程和线程详解 一、前言 进程的定义&#xff1a; 进程是系统进行资源分配的基本单位&#xff0c;是操作系统结构的基础。 在鸿蒙系统中&#xff0c;一个应用下会有三类进程&#xff1a; (1) 主进程&#xff0c; (2) ExtensionAbility进程&#xff…

Ubuntu USB耳机找不到设备解决

​ 一. 确定硬件连接 lsusb -t 插拔USB耳机&#xff0c;确定是否有USB识别到 二. 查看输出设备 sudo apt-get install pavucontrol pavucontrol 点击想要使用的输出设备后面的绿色选项 三. 输出设备没有USB耳机时调试 3.1 确认ALSA是否识别设备 列出ALSA播放设备&#…