• C++保姆级入门教程(7)—— 循环结构


    哈喽大家好,我是iecne,本期为大家带来的是CPP/C++保姆级入门教程的第⑦期—— 循环结构,包教包会,快来看看吧!

    此教程适合新手小白,因为语言会十分的通俗易懂,不会有很多的专业词汇出现,可以更好的掌握并且吸收,后续加上持之以恒的练习题目将会基本巩固


    目录

    一.循环结构是什么

    二.循环结构的用法

    三.for语句和while语句

    1.找最小值

    ①题目描述

    ②参考答案

    四.多重循环

    1. [NOIP2013 普及组]计数问题  (CSDN第二期竞赛第一题)

    ①题目描述

    ②参考答案

    ③题目解析

    五.循环结构程序设计案例

    1.数列求和

    ①题目描述

    ②没高斯聪明参考答案

    ③和高斯一样聪明参考答案

    六.总结

    系列文章目录


    一.循环结构是什么

    虽然计算机可以在短时间批量处理成千上万条指令,但是不少问题中有许多规律性的重复操作,比如说计算几百个学生的平均分,或者对上万人的名单进行排序。仅使用顺序或者分支结构,对每一步操作都写出对应的语句是不可能的;但可以使用循环语句让计算机反复执行类似的任务。

    本章将会介绍循环结构程序设计,同时前面的内容也会进一步的巩固。学完这一章,读者可以初步感受到计算机高效解决问题的能力。


    二.循环结构的用法

    循序结构具体怎么做,新手小白们若没有看过

    C++保姆级入门教程(4)   循环

    可以点击链接学习学习


    三.for语句和while语句

    1.找最小值

    ①题目描述

    给出 nn 和 nn 个整数 a_iai​,求这 nn 个整数中最小值是什么。

    输入格式

    第一行输入一个正整数 nn,表示数字个数。

    第二行输入 nn 个非负整数,表示 a_1,a_2 \dots a_na1​,a2​…an​,以空格隔开。

    输出格式

    输出一个非负整数,表示这 nn 个非负整数中的最小值。

    输入输出样例

    输入 #

    8
    1 9 2 6 0 8 1 7

    输出 #1

    0

    说明/提示

    数据保证,n\le100n≤100 且 0\le a_i \le 10000≤ai​≤1000。

    ②参考答案

     这个用到了数组和sort函数的AC code

    1. #include
    2. using namespace std;
    3. int n,a[10001];
    4. int main()
    5. {
    6. cin>>n;
    7. for(int i=1;i<=n;i++) cin>>a[i];
    8. sort(a+1,a+n+1);
    9. cout<1];
    10. return 0;
    11. }

    普通简单的方法如下

    1. #include
    2. #include
    3. #include
    4. #include
    5. using namespace std;
    6. int n,in,ans=1e9;//ans大点后面min更好比较,否则答案会变成0
    7. int main()
    8. {
    9. cin>>n;
    10. for(int i=1;i<=n;i++)
    11. {
    12. cin>>in;
    13. ans=min(ans,in);
    14. }
    15. cout<
    16. return 0;
    17. }

    这行代码不许要解释吧,看不懂见上一篇文章C++保姆级入门教程(6)—— 分支结构_iecne的博客-CSDN博客

    四.多重循环

    1. [NOIP2013 普及组]计数问题  (CSDN第二期竞赛第一题)

    ①题目描述

    试计算在区间 11 到 nn 的所有整数中,数字 xx(0\le x\le90≤x≤9)共出现了多少次?例如,在 11 到 1111 中,即在 1,2,3,4,5,6,7,8,9,10,111,2,3,4,5,6,7,8,9,10,11 中,数字 11 出现了 44 次。

    输入格式

    22 个整数 n,xn,x,之间用一个空格隔开。

    输出格式

    11 个整数,表示 xx 出现的次数。

    输入输出样例

    输入#1

    11 1

    输出 #1

    4

    说明/提示

    对于 100\%100% 的数据,1\le n\le 10^61≤n≤106,0\le x \le 90≤x≤9。

    ②参考答案

    1. #include
    2. using namespace std;
    3. int x,ans,n,i,q;
    4. int main()
    5. {
    6. cin>>x>>n;
    7. for(i=1;i<=x;i++)
    8. {
    9. q=i;
    10. while(q>0)
    11. {
    12. if(q%10==n)++ans;
    13. q/=10;
    14. }
    15. }
    16. cout<
    17. return 0;
    18. }

    ③题目解析

    这就是一个基础的拆分数字,从1-x重复的循环,判断每一个数

    如是1,1%10……1,%10就是提取个位数,每一次循环再除以10,就可以提取到每一位数的数字,再用if判断是否n

    请各位大佬看下此代码是否有问题,这个代码提交到CSDN第二期竞赛中不给分!!!强烈怀疑评分系统的问题

    五.循环结构程序设计案例

    1.数列求和

    ①题目描述

    计算 1+2+3+\cdots+(n-1)+n1+2+3+⋯+(n−1)+n 的值,其中正整数 nn 不大于 100。由于你没有高斯聪明,所以你不被允许使用等差数列求和公式直接求出答案。

    输入格式

    输入一个正整数 nn。

    输出格式

    输出一个正整数,表示最后求和的答案。

    输入输出样例

    输入 #1

    100

    输出 #1

    5050

    说明/提示

    数据保证,1 \leq n \leq 1001≤n≤100。

    ②没高斯聪明参考答案

    我真的无语。。。那么就规规矩矩地用for循环吧

    话不多说,上代码

    1. #include
    2. using namespace std;
    3. int main()
    4. {
    5. int a=0,n; //定义,a初始化为0,
    6. cin>>n; //输入
    7. for(int i=1;i<=n;i++)//循环,从1到n
    8. {
    9. a+=i; //累加求和
    10. }
    11. cout<//输出
    12. return 0;
    13. }

    ③和高斯一样聪明参考答案

    不守规矩是好孩子

    等差数列上代码

    1. #include
    2. using namespace std;
    3. int a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,sum;
    4. int main()
    5. {
    6. cin>>n;
    7. cout<<(n+1)*n/2;
    8. return 0;
    9. }

    六.总结

    本节课主要是讲解三道循序结构的题目,至此循环结构(for  /  while)思想博主已经分享完了,相信大家对这个逻辑有了一定的理解,大家可以自己动手敲敲代码,感受一下

    包教包会,帅的人已然点赞收藏关注,而丑的人还在犹豫,被犹豫了,快三连吧!


    系列文章目录

     本期收录于博主的专栏——C++保姆级入门教程,适用于编程入门初学者,感兴趣的朋友们可以订阅,查看其它专栏。

    C++保姆级入门教程_iecne的博客-CSDN博客

    C++保姆级入门教程(1)   变量 输出 输入

    C++保姆级入门教程(2)   算术运算和赋值

    C++保姆级入门教程(3)   if语句

    C++保姆级入门教程(4)   循环

    C++保姆级入门教程(5)   顺序结构

    C++保姆级入门教程(6)   分支结构

    C++保姆级入门教程(7)   循环结构


    感谢每一个观看本篇文章的朋友,更多精彩敬请期待:iecne的博客_CSDN博客-C++保姆级入门教程领域博主

    文章存在借鉴,如有侵权请联系修改删除!

  • 相关阅读:
    CSS基础
    Go语学习笔记 - gorm使用 - 表增删改查 Web框架Gin(八)
    FFmpeg详解
    【Linux】Nignx的入门&使用负载均衡&动静分离(前后端项目部署)---超详细
    pytorch tensorboard
    React技巧之打开文件输入框
    Linux 安装 cuda
    Pytorch下张量的形状操作(详细)
    FPGA之旅设计99例之第二例-----按键
    OpenGL ES freeglut 下载和使用
  • 原文地址:https://blog.csdn.net/CSDN_linyanchen/article/details/126010017