241214-C07-循环嵌套
原题链接:33265.笔记 汇总2024-12-14 18:01:49
发布于:江苏
一、循环输出图形
1.n行n列 的星号
******
******
******
******
******
******
int n;
cin >> n;
// 输出n排
//外层循环表示的 行
for (int j=1; j<=n; j++){
// 内层循环表示的是列 ,每一行的星号个数 //输出一排
for (int i=1; i<=n; i++){
cout << '*';
}
cout << endl;
}
2.直角三角形星号(左)
*
**
***
****
*****
******
hang lie(星号的数量)
1 1
2 2
3 3
i i
n n
int n;
cin >> n;
for(int i=1; i<=n; i++){
for (int j=1; j<=i; j++){
cout <<"*";
}
cout << endl;
}
3.直角三角形星号(右)
*
**
***
****
*****
******
/*
n = 6
hang lie kongge
1 1 5
2 2 4
3 3 3
i i n-i
n n 0
*/
int n;
cin >> n;
for(int i=1; i<=n; i++){
//输出空格
for (int j=1; j<=n-i; j++){
cout << ' ';
}
//输出星号
for (int j=1; j<=i; j++){
cout <<"*";
}
cout << endl;
}
4.等腰三角形星号
n = 4;
*
***
*****
*******
/*
n = 4
hang lie kongge
1 1 3
2 3 2
3 5 1
i 2*i-1 n-i
n n 0
*/
int n; cin >> n;
for (int i=1; i<=n; i++){
for (int k=1; k<=n-i; k++){
cout << ' ';
}
for (int j=1; j<=2*i-1; j++){
cout << "*";
}
cout << endl;
}
5. 菱形
n = 5
*
***
*****
*******
*********
*******
*****
***
*
行 列 空格
4 7 1
3 5 2
2 3 3
1 1 4
i 2*i-1 n-i
int n;
cin >>n;
for (int i=1; i<=n; i++){
for (int j=1; j<=n-i; j++) cout<<" ";
for (int j=1; j<=2*i-1; j++) cout <<"$";
cout<<endl;
}
for (int i=n-1; i>=1; i--){
for (int j=1; j<=n-i; j++) cout<<" ";
for (int j=1; j<=2*i-1; j++) cout <<"$";
cout<<endl;
}
6. 梯形星号
n = 3;
***
*****
*******
/*
n = 3
hang lie kongge
1 3 2
2 5 1
3 7 0
i 2*i+1 n-i
*/
int n;
cin >> n;
for (int i=1; i<=n; i++){
for (int j=1; j<=n-i; j++){
cout << " ";
}
for(int j=1; j<=2*i+1; j++){
cout<<'*';
}
cout << endl;
}
二、嵌套循环的运用
实例1: 乘法口诀表1
for (int i=1; i<=9; i++){ //外层循环第2个乘数
for (int j=1; j<=i; j++){ //内层循环第1个乘数
printf("%d*%d=%2d ", j, i, i*j);
// Sleep(1000);
}
cout<<endl;
}
实例2: 乘法口诀表2
for (int i=1; i<=9; i++){
for (int j=i; j<=9; j++){
printf("%d*%d=%2d ", i, j, i*j);
}
cout<<endl;
}
实例3: A30683.【循环】【入门】数1的个数
从1到n的所有整数中,数一下其中出现的数字“1”的个数。
输入12, 输出5
#include <bits/stdc++.h>
using namespace std;
int n;
int cnt;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
int tmp=i; //临时变量
while(tmp){
if(tmp%10==1) cnt++;
tmp/=10;
}
}
cout<<cnt;
return 0;
}
实例4: A7826.金币
#include <iostream>
using namespace std;
int sum, k, cnt;
int nfls(){
for(int i=1; i<=k; i++){
for (int j=1; j<=i; j++){
sum += i;
cnt++;
if (cnt == k) return sum;
}
}
}
int main(){
cin >> k;
cout << nfls();
return 0;
}
这里空空如也
有帮助,赞一个