我是靠谱客的博主 帅气猫咪,最近开发中收集的这篇文章主要介绍循环嵌套的综合应用(一)讲一讲,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

知识目标

    回顾循环嵌套的综合应用

学习目标

    熟练应用循环嵌套

一讲

输出 M-N 年所有的闰年

问题描述:

输出 m 年至 n 年之间(包括 m 年和 n 年且 0<m<=n<10000)所有的闰年,每个年份之间用一个空格隔开,每行最多十个数字。

样例输入:

1800 2000

样例输出:

1804 1808 1812 1816 1820 1824 1828 1832 1836 1840

1844 1848 1852 1856 1860 1864 1868 1872 1876 1880

1884 1888 1892 1896 1904 1908 1912 1916 1920 1924

1928 1932 1936 1940 1944 1948 1952 1956 1960 1964

1968 1972 1976 1980 1984 1988 1992 1996 2000

思维过程:

循环 m-n 之间所有的年份 >> 判断是否为闰年 >> 调整输出格式,每行十个数字换行 

过程分析:

第一步:循环 m-n 之间的所有年份:

int m,n;
cin>>m>>n;
for(int i=m;i<=n;i++){

}

第二步:判断是否为闰年:

/* 1 >能够被 400 整除
   2 >能被 4 整除并且不能被 100 整除
*/
if(i%400==0||i%100!=0&&i%4==0){
}

第三步:调整输出格式,超过十个数字需要换行

/*
1.需要一个变量 k 统计输出数字个数
2.使用if 语句判断,输出数字个数是 10 的整倍 数就需要换行,可以使用 if(k%10==0)
3.要保证每次只换一行
*/
int m,n,k=0;
cin >> m >> n;
for(int i=m;i<=n;i++){
    if(i%400==0||i%100!=0&&i%4==0){
        cout << i << " ";
        k++;
    }
    if(k%10==0){
        cout << endl;
    }
}

完整代码:

#include<iostream>
using namespace std;
int main(){
    int m,n,k=0;
    bool flag = true;
    cin>>m>>n;
    for(int i=m;i<=n;i++){
        if(i%400==0||i%100!=0&&i%4==0){
            cout << i << " ";
            k++;
            flag = false;
        }
        if(k%10==0&&flag==false){
            cout << endl;
            flag = true;
        }
    }
    return 0;
}

符串比较大小

问题描述:

任意输入 n 个字符,根据 ASCII 码值的大小,输出其中 ASCII 码最大和最小的字符。

样例输入:

5

1 2 3 a b

样例输出:

b 1

思维过程:

输入数据 >> 比较字符大小 >> 找出最大值和最小值并输出

代码如下:

#include<iostream>
using namespace std;
int main(){
    char ch;
    int n;
    char max=0, min=127;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>ch;
        if(max<=ch)
            max=ch;
        if(min>=ch)
            min=ch;
    }
    cout << max << " " << min << endl;
    return 0;
}

 N

问题描述:   

循环嵌套的方式输出一个类似”N”的形状。 输入格式:输入一个整数 n ,代表行和列。

输出格式:

思维过程:

if(j==1 || j==i || j==n) 
    cout << "*";         
    else
        cout << " ";
    cout << endl;

 整代码:

#include <iostream>
using namespace std;
int main(){
int i,j,n;
cin >> n;
for(i=1;i<=n;i++){
    for(j=1;j<=n;j++)
        if(j==1 || j==i || j==n)
            cout << "*";
        else 
            cout << " ";
        cout << endl;
    }
    return 0;
}

问题描述 

已知有 1 元, 2 元, 5 元的钱各 100 张,需要你凑出 20 元,求共有 多少种方法;

样例输出:

29

整代码:

#include<iostream> 
using namespace std; 
int main(){ 
    int money=0,n=0;
    for(int i=0;i<=20;i++){
        for(int j=0;j<=10;j++){
            for(int k=0;k<=4;k++){
                money=i+2*j+5*k;
                if(money==20){
                    n++;
                } 
            }
        }
    }
    cout << n;
    return 0;
}

创作不易,请多多鼓励!

最后

以上就是帅气猫咪为你收集整理的循环嵌套的综合应用(一)讲一讲的全部内容,希望文章能够帮你解决循环嵌套的综合应用(一)讲一讲所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部