一维数组定义:
通俗来说,一维数组就相当于一个c++的抽屉柜。而数组中的元素相当于抽屉柜中的一个个小抽屉。每个抽屉都有各自对应的编号。
定义一维数组:
int a[数组元素的数量]
a[0]=...;
a[1]=...;
a[3]=...;
同上,以后的定义也是这样;
输入元素:
cin>>a[...];
不过好麻烦呀,
所以用循环吧。
int a[100];
for (int i=0;i<=100;i++)
{
cin>>a[i];
}
输入100个元素到数组a中;
抽屉有放当然也有取:
for(int i = 100;i>=0;i--){
cout << a[i];
}
不过在定义一维数组时,不可以直接定义int a[i];
因为这样会发生数据溢出;
所以尽量不要直接定义int a[i];
二话不说,上题:
NO.1:
数组元素倒序输出
时间限制:1.000s
内存限制:128MB
题目描述
输入n个数,要求程序按输入时的逆序把这n个数打印出来。也就是说,请你按输入相反顺序打印这n个数。
输入格式
第一个n,表示元素的个数。
第二行:n个整数,数值之间用一个空格隔开。
输出格式
倒序后的结果,相邻数据之间用一个空格隔开,行末不要出现多余的空格。
样例输入
10
1 2 3 4 5 6 7 8 9 10
样例输出
10 9 8 7 6 5 4 3 2 1
提示/说明
n<1000,每个数据元素都属于integer;
代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
int a[1001],n;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=n;i>0;i--){
cout<<a[i]<<" ";
}
return 0;
}
NO.2:
斐波那契数列:0、1、1、2、3、5、8、13、21、..... 前二十个反向输出。
#include <bits/stdc++.h>
using namespace std;
int main() {
int a0=0;
int a1=1;
int a[100];
a[0]=a0;
a[1]=a1;
for(int i=3; i<=21; i++) {
int c = a0+a1;
a[i-1]=c;
a0=a1;
a1=c;
}
for(int i=20;i>=0;i--){
cout<<a[i]<<" ";
}
return 0;
}
优化版:
斐波那契数列有一个规律:一个数等于它的编号减一与它的编号减二的和。于是:
#include <bits/stdc++.h>
using namespace std;
int main() {
int a0=0;
int a1=1;
int a[100];
a[0]=a0;
a[1]=a1;
for(int i=2; i<=21; i++) {
a[i]=a[i-1]+a[i-2];
}
for(int i=20;i>=0;i--){
cout<<a[i]<<" ";
}
return 0;
}
刷题链接:http://1.14.136.201/category.php,注册后点击右侧“V.一维数组”,就可以刷题了;
喜欢这篇文章的朋友可以关注我,在学习编程的路上,我们共同前进!