小樽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

     

相关内容

热门资讯

卖火柴的小女孩的小学评课稿 卖火柴的小女孩的小学评课稿  篇一:《卖火柴的小女孩》评课稿  一、课堂导入新颖。  常言道:“良好...
《石头书》第一课时说课材料 《石头书》第一课时说课材料  一、说教材  本文是一篇科学小品,通过川川和磊磊两个孩子与勘探队员的交...
军训学生代表发言稿 军训学生代表发言稿(通用15篇)  在不断进步的时代,很多地方都会使用到发言稿,发言稿是在一定的场合...
家长会学生代表的优秀发言稿 家长会学生代表的优秀发言稿(精选10篇)  在当今社会生活中,能够利用到发言稿的场合越来越多,发言稿...
五月份国旗下讲话稿 五月份国旗下讲话稿范文(精选3篇)  在快速变化和不断变革的今天,各种讲话稿频频出现,绝大多数的讲话...
交流会活动通讯稿 交流会活动通讯稿  交流会活动通讯稿分享给大家,交流会活动目的是为营造健康积极的文化氛围,提升团队整...
交通安全主题广播稿 交通安全主题广播稿范文(通用8篇)  有在广播站锻炼的同学们都知道,大家广播前都会提前做好广播稿,漂...
小学六年级毕业典礼主持稿 小学六年级毕业典礼主持稿(精选6篇)  在社会发展不断提速的今天,各种主持稿频频出现,主持稿是主持人...
揭牌仪式讲话稿 揭牌仪式讲话稿10篇  在快速变化和不断变革的今天,能够利用到讲话稿的场合越来越多,讲话稿可以帮助发...
发言稿怎么写 发言稿怎么写  一、发言稿格式  开场白  1、设问法(能与听众交流)。  2、情境法(引导听众进入...
《山中访友》说课稿 《山中访友》说课稿(通用15篇)  作为一名专为他人授业解惑的人民教师,常常要写一份优秀的说课稿,说...
《春天举行音乐会》说课稿 《春天举行音乐会》说课稿  在教学工作者实际的教学活动中,通常会被要求编写说课稿,编写说课稿是提高业...
八年级下册第三单元《喂——出... 八年级下册第三单元《喂——出来》说课稿  一、说教材  (一)教材定位:  《喂──出来》是人民教育...
运动会的加油稿 运动会的加油稿(精选50句)  运动健将们,用你的实力,用你的精神,去开拓出,一片属于你的天地!接下...
高中家长会家长代表发言稿精选   有一个良好的学习氛围,每一个学生都受益。下面是小编整理的高中家长会家长发言稿,欢迎参考。  篇一...
怎样写好新闻通讯稿 怎样写好新闻通讯稿  通讯,是运用记叙、描写、抒情、议论等多种手法,具体、生动、形象地反映新闻事件或...
新生入学仪式讲话稿 关于新生入学仪式讲话稿(精选10篇)  在快速变化和不断变革的今天,各种讲话稿频频出现,讲话稿的作用...
动员会员工代表发言稿 动员会员工代表发言稿范文(精选12篇)  随着社会一步步向前发展,越来越多人会去使用发言稿,发言稿特...
必修5《项脊轩志》说课稿 苏教版必修5《项脊轩志》说课稿  一、教材分析  《项脊轩志》是苏教版必修5“此情可待成为追忆”的第...
元旦讲话稿 元旦讲话稿合集15篇  现如今,我们都可能会用到讲话稿,讲话稿的作用是辅助讲话者集中有效地围绕会议议...