for语句初识

情景导入

  某校某年级某班某位男生很爱哭,“wa”、“wa”、“wa”声音经常不绝于耳,现在请你通过编程来模拟他的哭声,他每发出一次哭声,则你输出一行——一个“wa”;

他哭了2次,我们可以这样写:

#include<iostream>

using namespace std;

int main()

{

cout<<”wa”<<endl;

cout<<”wa”<<endl;

return 0;

}

图片1.png

如果要哭50次,100次,1000次呢?

        不会要打100条cout<<”wa”<<endl;吧?像这样,如果我们要重复做某件事,这时候,我们就得学习循环结构了!        

什么是循环?

       反复执行多次同样的操作,就是循环的思想。应用循环思想编写的程序,就是循环结构程序。重复的内容就是循环语句的循环体。在c++中,有for、while、do-while三种循环语句。我们先来简单认识一下for语句。

格式一:递增计数循环语句(从小到大,升序)

             for(循环变量=初值 ;  循环变量<=终值 ; 循环变量++)

                  {

                        循环体(一条或一组语句)

                 }

例:   

        #include<iostream>

        using namespace std;

        int main()

        {

        

            for(int i=1; i<=100;  i++)

                    cout<<"YES"<<endl;

    return 0;

        } 

思考

以下程序运行的结果是什么?

for(int i=1;  i<=4;  i++)

    cout<<"*"<<endl;

for(int i=4;  i<=1;  i++)

    cout<<"*"<<endl;

for(int i=1; i>=4; i++)

    cout<<"*"<<endl;

小结:

1、递增型for循环语句,初始值一般小于或者等于终止值。

2、递增型for循环语句,中间的比较条件一般是:循环变量<=终止值,而不是循环变量>=终止值。

式二:递减型计数循环语句(从大到小,降序)

    for(循环变量=初值; 循环变量>=终值;  循环变量--)

    {

    循环体;

    }

    
  例:

        #include<iostream>

        using namespace std;

        int main()

        {

            for(int i=100; i>=1;  i--)

                     cout<<"YES"<<endl;

    return 0;

        }      

    思考

    以下程序运行的结果是什么?

    for(int i=4; i>=1; i--)

        cout<<"*"<<endl;

    for(int i=1; i>=4; i--)

        cout<<"*"<<endl;

    for(int i=4; i<=1; i--)

        cout<<"*"<<endl;

   小结:

   1、递减型for循环语句,初始值一般大于或者等于终止值。

   2、递减型for循环语句,中间的比较条件一般是:循环变量>=终止值,而不是循环变量<=终止值。

(1)循环变量的初值和终值应该是同一种类型,可以是整型、字符型、布尔型这些有序数据,但不能为实型。

    例如:

    循环变量是浮点型:

    for ( float i =3.5; i<=8.5;i++)

        cout<<i;

    i变量是浮点型,这种写法是错误的。

    还有这样的写法:

    for (int i=1.1; i<=9.9;i++)

        cout<<i;

    循环变量是整型,但赋值的数是小数也是错误的。

(2)for循环的各个部分都是可以灵活改变的,我们要根据实际情况,选择合适的语句。

    完成例题6:

(3)循环变量不仅可以用来控制次数,还能被使用和输出。

    例:请按照从小到大的顺序依次输出1~10内的所有正整数。每个数字一行。

    如果是输出10个“#”号,你会这么写?

    #include<iostream>

    using namespace std;

    int main()

    {

        for(int  i=1; i<=10; i++)

            cout<<”#”<<endl;

        return 0;

    }

    如何把“#”变成1,2,3...10?

    因为循环结构里的循环变量i从1变化到10;

    所以可以借用循环变量i;

    #include<iostream>

    using namespace std;

    int main()

    {

        for(int  i=1; i<=10; i++)

            cout<<i<endl;

        return 0;

    }

        完成例题7,8:

(4)循环变量虽然可以被使用和输出,一般情况下不要随意在循环体内部修改循环变量的值,不然可能产生意想不到的效果。

    #include<iostream>

    using namespace std;

    int main()

    {

        for(int i=1; i<=10; i++)

        {

    cout<<i<<endl;

             i=i+3;

       }

       return 0;

    }

被罚抄 查看测评数据信息

你是不是都有被罚抄的经历?比如,现在要你抄写一百行26个字母,你有什么快捷方法?我们可以用for循环来实现。

输入格式

不用输入

输出格式

输出100行26个字母(小写)

输入/输出例子1

输入:

输出:

abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
……

#include<bits/stdc++.h>
using namespace std;
int main(){
    for(int i=0;i<100;i++)cout<<"abcdefghijklmnopqrstuvwxyz"<<endl;
    return 0;
}

哭声 查看测评数据信息

某校某年级某班某位男生很爱哭,“wu”、“wu”、“wu”声音经常不绝于耳,现在请你通过编程来模拟他的哭声,请你输出50行“wu”。

输入格式

每行一个“wu",共50行。

输入/输出例子1

输入:

输出:

wu

wu

wu

wu

wu

wu

……

#include<bits/stdc++.h>
using namespace std;
int main(){
    for(int i=0;i<50;i++)cout<<"wu"<<endl;
    return 0;
}

更多哭声 查看测评数据信息

某校某年级某班某位男生很爱哭,“wu”、“wu”、“wu”声音经常不绝于耳,现在请你通过编程来模拟他的哭声,请你输出100行“wu”。

输出格式

每行一个“wu",共100行。

输入/输出例子1

输入:

输出:

wu

wu

wu

wu

wu

wu

……

#include<bits/stdc++.h>
using namespace std;
int main(){
    for(int i=0;i<100;i++)cout<<"wu"<<endl;
    return 0;
}

更多笑声 查看测评数据信息

小红是一个爱笑的女孩,“ha”、“ha”、“ha”声音经常不绝于耳,现在请你通过编程来模拟她的笑声。

输入格式

输入n,表示有n次笑声(n<=1000)

输出格式

输出n行,每行一个"ha"。

输入/输出例子1

输入:

3

输出:

ha
ha
ha

输入/输出例子2

输入:

5

输出:

ha
ha
ha
ha
ha

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    for(int i=0;i<n;i++)cout<<"ha"<<endl;
    return 0;
}

两个两个数 查看测评数据信息

一年级小朋友刚学会数数,老师要求明明回家练习从0开始两个两个地数到n(n<1000),明明总是忘记怎样数,你能帮帮她吗

输入格式

输入一个整数n

输出格式

两个两个地数,从0数到n,每个数字之间用空格隔开

输入/输出例子1

输入:

10

输出:

0 2 4 6 8 10

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    for(int i=0;i<n+2;i=i+2)cout<<i<<" ";
    return 0;
}

五个五个数 查看测评数据信息

这天明明学习了五个五个地数,但她又忘记怎样数了,你能帮她从0开始五个五个地数到n吗

输入格式

一个整数n(n<1000)

输出格式

五个五个地数,从0数到n,每个数字之间用空格隔开

输入/输出例子1

输入:

25

输出:

0 5 10 15 20 25

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    for(int i=0;i<=n;i=i+5)cout<<i<<" ";
    return 0;
}

a到b (课程7) 查看测评数据信息

输入2个1000以内的正整数a和b,a < b,输出从a到b的所有整数,数字之间留一个空格。

输入格式

 一行2个正整数:a和b,a < b,范围在[1,1000]。

输出格式

 一行,从a到b的正整数。

输入/输出例子1

输入:

 4  6

输出:

 4 5 6

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,b;
    cin>>a>>b;
    for(int i=a;i<=b;i++)cout<<i<<" "; 
    
    return 0;
}

2位偶数 (课程7) 查看测评数据信息

输出所有的2位偶数,数字之间留一个空格。

输出格式

 一行,所有2位数偶数。

#include<bits/stdc++.h>
using namespace std;
int main(){
    for(int i=5;i<50;i++)cout<<i*2<<" ";
    return 0;
}

从0开始(课程7) 查看测评数据信息

C语言编程中,数数喜欢从0开始。比如数数5次为: 0,1,2,3,4,其中的妙处只有高级的C程序员知道。
现在输入n,要你按照C程序员的方式数数。

输入格式

 一行1个正整数:n,范围在[1,1000]。

输出格式

 一行n个整数:0 1 2…。

输入/输出例子1

输入:

4

输出:

 0 1 2 3

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a;
    cin>>a;
    for(int i=0;i<a;i++)cout<<i<<" ";
    return 0;
}

前面数 (课程7) 查看测评数据信息

如果你知道一个整数a,想输出a前面的N个数,怎么办?

输入格式

 一行2个正整数:a和N,范围在[1,10000]。

输出格式

一行n个整数:……a-2  a-1

输入/输出例子1

输入:

 10  5

输出:

 5 6 7 8 9

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,n;
    cin>>a>>n;
    for(int i=a-n;i<a;i++)cout<<i<<" ";
    return 0;
}

练习1 查看测评数据信息

请利用循环语句输出三次以下这三行金字塔:(提示:小心空格哦)

  *

 **

****

输入格式

输出格式

三个三行金字塔

输入/输出例子1

输入:

输出:

  *

 **

****

  *

 **

****

  *

 **

****

#include<bits/stdc++.h>
using namespace std;
int main(){
    for(int i=0;i<3;i++)cout<<"  *"<<endl<<" **"<<endl<<"****"<<endl;
    return 0;
}

奇数 (课程7) 查看测评数据信息

给定N,输出1到N之间的奇数。

输入格式

 一行1个正整数:N,范围在[1,10000]。

输出格式

 [1…N]内的正奇数。

输入/输出例子1

输入:

10

输出:

 1 3 5 7 9

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i=i+2)cout<<i<<" ";
    return 0;
}

练习4 查看测评数据信息

输入一个数n,请按从大到小依次输出1~n中3的倍数,数与数之间用空格隔开

输入格式

一个整数n(n<=10000)

输出格式

一行数字

输入/输出例子1

输入:

10

输出:

9 6 3

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    for(int i=n;i>0;i--)if(i%3==0)cout<<i<<" ";
    return 0;
}

7的倍数 (课程7) 查看测评数据信息

从小到大输出所有3位数中7的倍数的数。

输出格式

 一行整数,之间用空格隔开。

输入/输出例子1

输入:

输出:

 105  112……

#include<bits/stdc++.h>
using namespace std;
int main(){
    for(int i=100;i<1000;i++)if(i%7==0)cout<<i<<" ";
    return 0;
}

课后1 查看测评数据信息

现在有n个正方形的边长,求这些正方形的周长是多少?

输入格式

第一行:一个整数n

第二行:n个整数

输出格式

一行:n个整数

输入/输出例子1

输入:

4

3 5 4 6

输出:

12 20 16 24

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,a;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>a;
        cout<<a*4<<" ";
    }
    return 0;
}

订班服  查看测评数据信息

402班要订班服了,班服分为大、中、小码,其中高145cm及以上高的要穿L码,高135cm-144cm的要穿M码,135cm以下的穿S码,现给出402班所有学生的高度(单位为cm),请输出每个学生所需要班服的码数

输入格式

第一行,一个整数n。(n<=60) 
第二行,n个整数,为每个学生的高度。

输出格式

n行

每行1个字母

输入/输出例子1

输入:

5
130 140 142 145 136 

输出:

S

M

M

L

M

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,a;
    cin>>n;
    for(int i=0;i<n;i++){
    cin>>a;
    if(a>=145)cout<<"L"<<endl;
    if(a>=135&&a<=144)cout<<"M"<<endl;
    if(a<135)cout<<"S"<<endl;    
    }
    
    return 0;
}

篮球赛   查看测评数据信息

这个学期,晨晨的班级跟小明班进行n场篮球友谊赛,作为裁判员的你是否能输出两个比赛结果吗? 

输入格式

第一行:一个整数n,代表比赛场数(0≤n≤100)。 
接下来n行,每一行两个整数,第一个整数代表晨晨班级得分,第二个整数代表隔壁班得分(两个整数都大于0小于等于100)。

输出格式

n行比赛结果:

如果晨晨班级胜利输出"chenchen win!"

如果小明班级胜利输出"xiaoming win!"

如果平局,输出"peace!"

输入/输出例子1

输入:


15 30 
35 25 
35 35 
40 34 

输出:

xiaoming win!

chenchen win!

peace!

chenchen win!

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,a,b;
    cin>>n;
    for(int i=0;i<n;i++){
    cin>>a>>b;
    if(a>b)cout<<"chenchen win!"<<endl;
    if(a<b)cout<<"xiaoming win!"<<endl;
    if(a==b)cout<<"peace!"<<endl;    
    }
    
    
    return 0;
}

  • 38
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值