seo建设网站网站建设和网站推广
文章目录
- C++010-C++嵌套循环
 - 嵌套循环
 - 嵌套循环举例
 - 题目描述 输出1的个数
 - 题目描述 输出n行99乘法表
 - 题目描述 求s=1!+2!+...+10!
 - 作业
 
- 在线练习:
 - 总结
 
C++010-C++嵌套循环

在线练习:
 http://noi.openjudge.cn/
 https://www.luogu.com.cn/
嵌套循环
循环可以指挥计算机重复去执行某些代码,减少程序的代码量。
循环可以让计算机去尝试所有的可能情况,找出最优的答案。

嵌套循环举例
题目描述 输出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;
}
 
输出为:
 
题目描述 输出n行99乘法表
题目描述
 输入n,打印前n行九九乘法表
输入
 数字n
 输出
 前n行九九乘法表
 样例输入
 2
 样例输出
 11=1
 12=2 2*2=4
思路
 
#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;
}
 
输出为:
 
题目描述 求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;
}
 
作业

在线练习:
http://noi.openjudge.cn/
总结
本系列为C++学习系列,会介绍C++基础语法,基础算法与数据结构的相关内容。本文为C++循环结构的中的嵌套循环案例,包括相关案例练习。
