小樽C++ 单章③ 一维数组
创始人
2024-05-30 02:16:58
0

目录

一、一维数组认识与使用

1.4 数组的输入与输出

1.5 最大值与最小值的求解

二、一维数组的操作用法

2.1 数组的插入与删除

2.2 数组某个值的查找

2.3多个数组的合并

2.4多个数组的有序合并

三、一维数组的应用

3.1 斐波那契数列

3.2 淘淘摘苹果

3.3 翻纸牌游戏

3.4 判断数组元素是否存在某两个元素之和为 k。


一、一维数组认识与使用

数组的意思:数组相等于一排座椅,可以坐很多人。每个座椅的位置都不一样。
数组存数据,就相当座椅做了人。

1.1 定义数组: int b[10] // 意思是a数组最多可存10个整数。

1.2 数组赋值:  int a[10]={1,2,3,4,5,6}; //还剩下的空间,默认补0。

1.3 数组的索引/下标:从0开始。

问a[0]值      ; a[2]值      ; a[4]值      ; a[6]值      


1.4 数组的输入与输出

输入很多个值存到数组里面,那需要在循环里面操作。

例如:1.先定义数组,在循环输入。

#include
using namespace std;
int main(){int n;cin>>n; // 输入n个数 int a[n+1];for(int i=0;i>a[i]; // 数组的输入 }cout<

 问,当输出的循环i不从0开始,改成i=1,那输出结果会怎么样?

炼1:请实现数组中所有元素的和,并且输出总和结果。

炼2:请实现数组中所有元素是偶数的和,并且输出总和结果。

炼3:请实现数组的倒序输出,例如输入 1 2 3 4; 输出 4 3 2 1。

/*
1. 定义一个长度为7的数组c,
2. 把7个数值存到数组c里面,
3. 统计数组c所有元素的偶数和 。
*/
#include 
using namespace std;
int main(){int c[7]; for(int i=0;i<7;i++){cin>>c[i];}int sum=0;for(int i=0;i<7;i++){if(c[i]%2==0){sum += c[i];}}cout<<"数组偶数和:"<

// 3.请倒序输出数组a。
#include 
using namespace std;
int main(){float a[10] = {3.14,77.88,66.88,3,9,5,22.5};// 倒序1 for(int i=6;i>=0;i--){cout<

1.5 最大值与最小值的求解

1.定义一个长度为10的数组a并赋值;
2.求数组元素最大值与最小值,求极差(最大值-最小值)。

#include 
using namespace std;
int main(){float a[10] = {3.14,77.88,66.88,3,9,5,22.5};float max,min;for(int i=0;i<7;i++){//判断最大最小值if(i==0){	//假设第一个元素为最大值 max = a[i];min = a[i];}else{ // 从第二、三个..第n个比较大小 if(maxa[i]){ min=a[i];}}}cout<<"最大值:"<


二、一维数组的操作用法

2.1 数组的插入与删除

#include
using namespace std;
int main(){//实现数组的插入操作 int a[6]={1,2,3,5,6};for(int i=5;i>3;i--){ //循环为什么要倒序?   a[i]=a[i-1]; //让后面数组值往后挪了}// 插入4到索引3的位置{1,2,3,4,5,6}a[3]=4;//删除索引1的值for(int i=1;i<5;i++){ //循环是正序?a[i]=a[i+1]; //让后面数组值往前挪,覆盖掉前的值 }// 输出for(int i=0;i<5;i++){ cout<


2.2 数组某个值的查找

1.在数组存了15个值。 需要先定义数组变量,再循环输入15个值。

2.输入一个值用变量a存储,循环里面逐个判断数组元素值跟a是否相等,是就输出该数组元素的索引位置!并循环结束。

#include
using namespace std;
int main(){int arr[15];for(int i=0;i<15;i++){ cin>>arr[i];}int a;cin>>a;for(int i=0;i<15;i++){ if(a==arr[i]){cout<<"索引位置:"<


2.3多个数组的合并

将数组a[]和数组b[]合并到数组c[]。

#include 
using namespace std;
int main(){int a[3] = {35, 72, 96};int b[4] = {29, 33, 56, 87};int c[7];//将数组a[]和数组b[]合并到数组c[]int len=0;for(int i=0;i<3;i++){c[len]=a[i];len++;}for(int j=0;j<4;j++){c[len]=b[j];len++;}for(int i=0;i


2.4多个数组的有序合并

将有序的的数组a,b合并到c数组,并且c数组也是有序数组。

#include 
using namespace std;
int main(){int a[3] = {1, 3, 5};int b[4] = {4, 5, 6, 7};int c[10];int lena = 0, lenb = 0, lenc = 0;// 因为 a, b 数组是有序的,所以最小的元素一定是数组最左边的数字,// 所以我们只要比较当前 a, b 数组的头,选择小的放入 c 数组即可while (lena < 3 && lenb < 4){if (a[lena] < b[lenb]){c[lenc] = a[lena];lena++;lenc++;} else {c[lenc] = b[lenb];lenb++;lenc++;}}//接下来考虑一件事,必然有一个数组中的元素先被放完,//那另外一个数组中剩下的元素我们只要依次放进 c 数组就可以了cout<<"------"<


2.5查找数组元素有重复

输入n个值存到数组里面,请找出数组元素有重复的值。

#include
using namespace std;
int main(){int n;cin>>n;int a[n+1];for(int i=0;i>a[i];}for(int i=0;i

  


 

三、一维数组的应用

3.1 斐波那契数列

斐波那契数列:第一项、第二项都是1,第3项为前两项的和,以此类推第4项就是 第2、3项的和。 1 1 2 3 5 8 13 21

#include
using namespace std;
int main(){int k;cin>>k;long long a[k+1];for(int i=0;i


3.2 淘淘摘苹果

 

#include
using namespace std;
int main(){int a[10];int cnt=0;for(int i=0;i<10;i++){cin>>a[i];} int h;cin>>h;for(int i=0;i<10;i++){if(h+30>=a[i]){cnt++;}}cout<

3.3 翻纸牌游戏

五年级一班全体学生做一个游戏,有 nn 张纸牌,每张纸牌上分别标注着 1、2、3、4…n个数字,初始时纸牌数字面朝上。全班同学先将 1的倍数的纸牌翻过来,然后再将 2 的倍数的纸牌再翻过来,一直翻到 n 的倍数的纸牌。统计翻到最后数字面向下的纸牌分别是哪些?

例如,有 1、2、3 张纸牌,开始时纸牌数字面朝上,第一次翻转 1 的倍数,将所有序号为 1 的倍数的纸牌翻转;第二次翻转 2 的倍数,将所有序号是 2 的倍数的纸牌再翻转;第三次翻转 3 的倍数,将所有序号是 3 的倍数纸牌再翻转,翻牌到此结束。最后数字面向下的纸牌是序号为 1 的那张。

输入格式

输入第一行输入数字为 n,表示有 n 张纸牌。

//翻纸牌  
#include
using namespace std;
int main(){int n;cin>>n;int a[10000];for(int i=1;i<=n;i++){a[i]=1; //初始 牌朝上为 1 }for(int i=1;i<=n;i++){ //遍历所有牌 for(int j=i;j<=n;j++){ //第几张牌进行判断 if(j%i==0){//倍数判断 a[j] *= -1; }}}for(int i=1;i<=n;i++){  if(a[i]==-1){ //对朝下的牌进行输出 cout<


3.4 判断数组元素是否存在某两个元素之和为 k。

  • 1. 判断 第一个元素+第二个元素==K?,没有就 第一个元素+ 第3、5、6个元素到最后一个。
  • 2. 完了之后,判断 第二个跟后面元素相加再比较,以此类推 第3个元素跟后面比,直到最后一个元素停止。
    #include
    using namespace std;
    int main(){
    //	数组里面找重复的值。int n;cout<<"n个数:";cin>>n;int a[n]; // 多少人存在数组里面 for(int i=0;i>a[i];}
    //解决:第一个元素 与第二、三...最后元素判断比较int k;cout<<"k值:";cin>>k;for(int i=0;i

     

相关内容

热门资讯

常用商务英语口语   商务英语是以适应职场生活的语言要求为目的,内容涉及到商务活动的方方面面。下面是小编收集的常用商务...
六年级上册英语第一单元练习题   一、根据要求写单词。  1.dry(反义词)__________________  2.writ...
复活节英文怎么说 复活节英文怎么说?复活节的英语翻译是什么?复活节:Easter;"Easter,anniversar...
2008年北京奥运会主题曲 2008年北京奥运会(第29届夏季奥林匹克运动会),2008年8月8日到2008年8月24日在中华人...
英语道歉信 英语道歉信15篇  在日常生活中,道歉信的使用频率越来越高,通过道歉信,我们可以更好地解释事情发生的...
六年级英语专题训练(连词成句... 六年级英语专题训练(连词成句30题)  1. have,playhouse,many,I,toy,i...
上班迟到情况说明英语   每个人都或多或少的迟到过那么几次,因为各种原因,可能生病,可能因为交通堵车,可能是因为天气冷,有...
小学英语教学论文 小学英语教学论文范文  引导语:英语教育一直都是每个家长所器重的,那么有关小学英语教学论文要怎么写呢...
英语口语学习必看的方法技巧 英语口语学习必看的方法技巧如何才能说流利的英语? 说外语时,我们主要应做到四件事:理解、回答、提问、...
四级英语作文选:Birth ... 四级英语作文范文选:Birth controlSince the Chinese Governmen...
金融专业英语面试自我介绍 金融专业英语面试自我介绍3篇  金融专业的学生面试时,面试官要求用英语做自我介绍该怎么说。下面是小编...
我的李老师走了四年级英语日记... 我的李老师走了四年级英语日记带翻译  我上了五个学期的小学却换了六任老师,李老师是带我们班最长的语文...
小学三年级英语日记带翻译捡玉... 小学三年级英语日记带翻译捡玉米  今天,我和妈妈去外婆家,外婆家有刚剥的`玉米棒上带有玉米籽,好大的...
七年级英语优秀教学设计 七年级英语优秀教学设计  作为一位兢兢业业的人民教师,常常要写一份优秀的教学设计,教学设计是把教学原...
我的英语老师作文 我的英语老师作文(通用21篇)  在日常生活或是工作学习中,大家都有写作文的经历,对作文很是熟悉吧,...
英语老师教学经验总结 英语老师教学经验总结(通用19篇)  总结是指社会团体、企业单位和个人对某一阶段的学习、工作或其完成...
初一英语暑假作业答案 初一英语暑假作业答案  英语练习一(基础训练)第一题1.D2.H3.E4.F5.I6.A7.J8.C...
大学生的英语演讲稿 大学生的英语演讲稿范文(精选10篇)  使用正确的写作思路书写演讲稿会更加事半功倍。在现实社会中,越...
VOA美国之音英语学习网址 VOA美国之音英语学习推荐网址 美国之音网站已经成为语言学习最重要的资源站点,在互联网上还有若干网站...
商务英语期末试卷 Part I Term Translation (20%)Section A: Translate ...