C++第四讲for循环及数组

Everyday English 

To conquer the hard, one must master the easy; to achieve greatness, one must begin with the triviality.

天下难事,必作于易;天下大事,必作于细。

前言

这节课是入门的最后一节课了,下面我会带你接触一些简单的题目和算法,你准备好了吗?

数组

数组的概念

首先你得理解数组是什么?数是数字的意思,而组是多个元素组合在一起,好比一个装笔的抽屉,将笔分在了不同的格子里。

数组也分一维数组和二维数组,当然三维,四维也有,只不过我们通常情况下只会用到一维数组和二维数组。

一维数组有点像一条线,线上有很多点,每个点有不同的值,像下面的图一样:

一维数组有点像一条线,线上有很多点,每个点有不同的值,像下面的图一样:

数组的定义 

知道了数组的概念,我们来看一看如何定义一个数组:

一维数组的定义方式如下:

二维数组的定义方式如下:

数组的下标 

下标你可以理解为每个抽屉的编号,一维数组,从左至右依次编号,二维数组有行号和列号,在C++中,先行再列,既a[5][4]表示第五行,第四列的元素

注意:二维数组的下标是从0开始的 ,所以a[10]的一维数组下标其实是0-9

for循环

循环是什么

循环的意思很好理解,就是重复执行某件事,大家应该都知道Scratch里的重复执行吧,而C++只是用另一种语言去编写这个循环,基本功能是一样的。

基本格式

比如下面这个for循环,一共执行了n次,你可以拿一张草稿纸模拟一下:

多重循环

for循环的里面/外面还可以在套一层for循环,当然更多层也可以,像Scratch一样:

在C++里就是:

那这个循环执行了多少次呢?答案是10x10x10=1000次,你懂了吗?

洛谷小课堂

陶陶摘苹果

思路点拨

这题要用到今天所学的数组与for循环,数组不要卡着数据开,稍微大一点,但不要过大。

可以这样(仅供参考):

AC:

#include<bits/stdc++.h>
using namespace std;
int a[15];
int main(){
    for(int i=1;i<=10;i++){
        cin>>a[i];    
    }
    int n;
    cin>>n;
    int sum=0;
    for(int i=1;i<=10;i++){   
    if(a[i]<=n+30){
        sum++;
    }
    }
    cout<<sum;
    return 0;
}

 最高的分数

思路点拨

这题要用到今天所学的数组与for循环,数组不要卡着数据开,稍微大一点,但不要过大。还要有一个求最大值的变量(ma),千万不要写成max,(ma=-1)

可以这样(仅供参考):

if(ma<=a[i]){
        ma=a[i];
    }

AC:

#include<iostream>
using namespace std;
int a[105];
int main(){
    int n;
    int ma=-1;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];    
    if(ma<=a[i]){
        ma=a[i];
    }
}
    cout<<ma;
    return 0;

}

总结 

本节课我们学习了循环及数组的知识,从下节课起,我们讲初步解决一些实际问题,以及一些基础算法,我会选取一些洛谷有代表性的题目给大家讲解。

如果你能支持一下我,我十分感谢,最后认识一下,我是爱编程的喷火龙,我们有缘再见!

  • 23
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喷火龙廖

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值