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++循环结构的中的嵌套循环案例,包括相关案例练习。

相关文章
|
5天前
|
设计模式 测试技术 编译器
C++项目中打破循环依赖的锁链:实用方法大全(一)
C++项目中打破循环依赖的锁链:实用方法大全
107 0
|
5天前
|
C++
【C++ 命名空间】C++ 命名空间与嵌套命名空间入门指南
【C++ 命名空间】C++ 命名空间与嵌套命名空间入门指南
34 0
|
5天前
|
设计模式 程序员 C++
【C++ 泛型编程 高级篇】C++模板元编程:使用模板特化 灵活提取嵌套类型与多容器兼容性
【C++ 泛型编程 高级篇】C++模板元编程:使用模板特化 灵活提取嵌套类型与多容器兼容性
282 2
|
5天前
|
缓存 编译器 数据处理
【C/C++ 性能优化】循环展开在C++中的艺术:提升性能的策略与实践
【C/C++ 性能优化】循环展开在C++中的艺术:提升性能的策略与实践
63 0
|
5天前
|
存储 安全 编译器
【C++从练气到飞升】03---C++入门(三)
【C++从练气到飞升】03---C++入门(三)
|
5天前
|
存储 自然语言处理 编译器
【C++从练气到飞升】02---C++入门(二)
【C++从练气到飞升】02---C++入门(二)
|
5天前
|
Unix 编译器 C语言
【C++从练气到飞升】01---C++入门(一)
【C++从练气到飞升】01---C++入门(一)
|
5天前
|
安全 编译器 程序员
【C++入门】内联函数、auto与基于范围的for循环
【C++入门】内联函数、auto与基于范围的for循环
|
5天前
|
C++ Python
C++教学——从入门到精通 10.循环
学习编程建议先Python后C++,以避免C++思维影响。课程涵盖for、while和do while循环。for循环示例:`for(int i=0;i&lt;n;i++)`,用于计算114514天后的金币总数(1145140个)。死循环通过`for(int i=0;;i++)`实现,用`break`退出。while循环格式`while(条件)`,同样可解决金币问题。do while循环特点是先执行后判断,结构为`do{...}while(条件)`。
23 2
|
5天前
|
C++
C++ While 和 For 循环:流程控制全解析
本文介绍了C++中的`switch`语句和循环结构。`switch`语句根据表达式的值执行匹配的代码块,可以使用`break`终止执行并跳出`switch`。`default`关键字用于处理没有匹配`case`的情况。接着,文章讲述了三种类型的循环:`while`循环在条件满足时执行代码,`do/while`至少执行一次代码再检查条件,`for`循环适用于已知循环次数的情况。`for`循环包含初始化、条件和递增三个部分。此外,还提到了嵌套循环和C++11引入的`foreach`循环,用于遍历数组元素。最后,鼓励读者关注微信公众号`Let us Coding`获取更多内容。
22 0