#include#includeusingnamespace std;intmain(){int n;int a[100];
cin >> n;for(int i =0;i < n; i++) cin >> a[i];// 输入n个整数for(int i = n -1; i >=0; i--) cout << a[i]<<' ';
cout << endl;return0;}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
1.6 练习3 数组旋转
输入一个n,再输入n个整数。将这个数组顺时针旋转k(k <= n)次,最后将结果输出。
#include#includeusingnamespace std;intmain(){int n,k;int a[100];
cin >> n >> k;for(int i =0; i < n; i++) cin >> a[i];reverse(a, a + k);reverse(a + k,a + n);reverse(a, a + n);for(int i =0; i < n; i++) cout << a[i]<<' ';
cout << endl;return0;}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
1.7 练习4 顺序输出
输入n个数,将这n个数按从小到大的顺序输出
#include#includeusingnamespace std;intmain(){int n,k;int a[100];
cin >> n >> k;for(int i =0; i < n; i++) cin >> a[i];for(int i =0; i < n; i++)for(int j = i +1; j < n; j++)if(a[i]> a[j])swap(a[i],a[j]);for(int i =0; i < n; i++) cout << a[i]<<' ';
cout << endl;return0;}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1.8 练习5 难题
计算2的N次方,N <= 10000
#includeusingnamespace std;constint N =3010;intmain(){int a[N]={1};int n;
cin >> n;int m =1;for(int i =0;i < n;i++){int t =0;for(int j =0;j < m; j++){
t += a[j]*2;
a[j]=t%10;
t/=10;}if(t) a[m++]=1;}for(int i =m-1;i>=0;i--)cout << a[i];//从最高位输出return0;}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2. 多维数组
int a[3][4]:大小为3的数组,每个元素是含有4个整数的数组。
int arr[10][20][30] = {0}; 将所有元素初始化为0,大小为10的数组,它的每个元素是含有4个整数的数组,这些数组的元素是含有30个整数的数组