C++010-C++嵌套循环

简介: C++010-C++嵌套循环

C++010-C++嵌套循环


在线练习:

http://noi.openjudge.cn/

https://www.luogu.com.cn/


嵌套循环


循环可以指挥计算机重复去执行某些代码,减少程序的代码量。

循环可以让计算机去尝试所有的可能情况,找出最优的答案。


3676851853bfeed46939c14eb4446505_5012ac1140124d2c8b0cbd0fc3858020.png


嵌套循环举例

题目描述 输出1的个数

题目描述

给定一个十进制的正整数n,写下从1到n的所有整数,然后输出其中出现数字1的个数

例如n=5时,写下1,2,3,4,5,包含1个1,输出为1; 当n=12时,写下1,2,3,4,5,6,7,8,9,10,11,12包含5个1,输出为5


输入

正整数 1<=n<=10000

输出

一个正整数,1的个数

样例输入

12

样例输出

5


解题思路


1.写下从1到n的整数,主循环框架为:

for(int i =1;i<=n;i++){

统计每个i中数字1的个数,累加

int s=0;

s++;

}

2.内循环统计每一个i中数字i的个数

int s=0,a=i;

while(a!=0){

if(a%10==1) s++;

a/=10;

}


#include <iostream>
//#include<bits/stdc++.h>
using namespace std;
int main()
{
  int n,sALL=0;
  cin>>n;
  for(int i =1;i<=n;i++ )
  {
      int s=0,a=i;
      while(a!=0){
        if(a%10==1)s++;
        a/=10;
      }
      sALL+=s;
  }
  cout<<sALL;
  return 0;
}

输出为:

c7de3dd1fa776041f1510d2c445c28b3_46f1e234b8da446eb1936d79ec51c53d.png


题目描述 输出n行99乘法表

题目描述

输入n,打印前n行九九乘法表


输入

数字n

输出

前n行九九乘法表

样例输入

2

样例输出

11=1

12=2 2*2=4


思路

d81a2119bab1dea9da86642021d00fdb_8fe2b196c4d04bddafaec9a929c53339.png


#include <iostream>
#include<cstdio>
#include<iomanip>
//#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n=0;
    cin>>n;
    for(int i =1; i<=n; i++ )
    {
        for(int j=1; j<=i; j++)
        {
            //cout<<j<<"*"<<i<<"="<<setw(2)<<j*i<<" ";
            cout<<j<<"*"<<i<<"="<<j*i<<"\t";
        }
        cout<<endl;
    }
    return 0;
}

输出为:


8661550207f94b6ea3884cf24260729e_5fd62535f49e4219a5f3b1b703d3f184.png

题目描述 求s=1!+2!+…+10!

题目描述

求s=1!+2!+…+10!


输入

输出

无。

样例输入

样例输出

4037913


#include <iostream>
//#include<bits/stdc++.h>
using namespace std;
int main()
{
  int s=0;
  for(int i =1;i<=10;i++ )
  {
      int t = 1;
      for(int j= 1; j<=i;j++)
      {
          t *= j;
      }
      s += t;
  }
  cout<<s;
  return 0;
}

方法2:


#include <iostream>
//#include<bits/stdc++.h>
using namespace std;
int main()
{
  int s=0;
  int t = 1;
  for(int i =1;i<=10;i++ )
  {
      t *= i;
      s += t;
  }
  cout<<s;
  return 0;
}

作业

8acc5d2c7650bff9bde671e6230caf29_6d43a531a05b4b51af85b384187e1fcf.png


在线练习:


http://noi.openjudge.cn/


总结


本系列为C++学习系列,会介绍C++基础语法,基础算法与数据结构的相关内容。本文为C++循环结构的中的嵌套循环案例,包括相关案例练习。

相关文章
|
8月前
|
设计模式 测试技术 编译器
C++项目中打破循环依赖的锁链:实用方法大全(一)
C++项目中打破循环依赖的锁链:实用方法大全
800 0
|
8月前
|
设计模式 程序员 C++
【C++ 泛型编程 高级篇】C++模板元编程:使用模板特化 灵活提取嵌套类型与多容器兼容性
【C++ 泛型编程 高级篇】C++模板元编程:使用模板特化 灵活提取嵌套类型与多容器兼容性
944 2
|
8月前
|
缓存 编译器 数据处理
【C/C++ 性能优化】循环展开在C++中的艺术:提升性能的策略与实践
【C/C++ 性能优化】循环展开在C++中的艺术:提升性能的策略与实践
763 0
|
6月前
|
存储 安全 编译器
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
【C++入门 四】学习C++内联函数 | auto关键字 | 基于范围的for循环(C++11) | 指针空值nullptr(C++11)
|
7月前
|
算法 程序员 编译器
C++的四类循环分享
C++的四类循环:Entry or Exit controlled, Ranged-based or For_each
|
7月前
|
C++
C++一分钟之-循环结构:for与while循环
【6月更文挑战第18天】在C++中,`for`循环适合已知迭代次数,如数组遍历;`while`循环适用于条件驱动的未知次数循环。`for`以其初始化、条件和递增三部分结构简洁处理重复任务,而`while`则在需要先检查条件时更为灵活。常见错误包括无限循环和逻辑错误,解决办法是确保条件更新和正确判断。了解两者应用场景及陷阱,能提升代码效率和可读性。
75 6
|
7月前
|
C语言 C++ 容器
c++primer plus 6 读书笔记 第五章 循环和关系表达式
c++primer plus 6 读书笔记 第五章 循环和关系表达式
|
7月前
|
程序员 编译器 C++
探索C++语言宝库:解锁基础知识与实用技能(类型变量+条件循环+函数模块+OOP+异常处理)
探索C++语言宝库:解锁基础知识与实用技能(类型变量+条件循环+函数模块+OOP+异常处理)
55 0
|
8月前
|
算法 程序员 C++
C++程序中的循环语句:实现重复执行的关键
C++程序中的循环语句:实现重复执行的关键
440 2
|
8月前
|
存储 安全 编译器
【C++从练气到飞升】03---C++入门(三)
【C++从练气到飞升】03---C++入门(三)