信息学奥赛一本通 2034:【例5.1】反序输出
【題目鏈接】
ybt 2034:【例5.1】反序輸出
【題目考點(diǎn)】
1. 數(shù)組填充
設(shè)數(shù)組a, 變化的下標(biāo)ai,初值為0
例: int a[105], ai = 0;
方法1:填充到下標(biāo)0~ai-1
將數(shù)值x填到數(shù)組中:a[ai++] = x;
ai表示:數(shù)組長(zhǎng)度(數(shù)組中元素的個(gè)數(shù)),數(shù)組待填充的位置。
正向遍歷寫(xiě)法:for(int i = 0; i < ai; ++i)
方法2:填充到下標(biāo)1~ai
將數(shù)值x填到數(shù)組中:a[++ai] = x;
ai表示:數(shù)組長(zhǎng)度(數(shù)組中元素的個(gè)數(shù)),數(shù)組最后一個(gè)元素的位置。
正向遍歷寫(xiě)法:for(int i = 1; i <= ai; ++i)
2. 逆序遍歷數(shù)組
3. 輸入不確定個(gè)數(shù)的數(shù)字
while(cin >> a) {//... }或
while(scanf("%d", &a) != EOF)) {//... }OJ上實(shí)際是從文件輸入,文件末尾是EOF(end of file,實(shí)際是-1)。當(dāng)讀到文件末尾時(shí)cin >> a會(huì)返回false,scanf("%d", &a)會(huì)返回EOF,讓循環(huán)跳出。
這樣的程序在本地調(diào)試時(shí),輸入n個(gè)數(shù)據(jù)后不會(huì)停止。此時(shí)可以按Ctrl+Z,控制臺(tái)中出現(xiàn)^Z后,按回車(chē),這樣可以結(jié)束輸入,看到程序運(yùn)行的結(jié)果。
【題解代碼】
解法1:填充到下標(biāo)0~n-1
#include <bits/stdc++.h> using namespace std; int main() {int a[105], ai = 0, x;while(cin >> x)a[ai++] = x;for(int i = ai - 1; i >= 0; --i)cout << a[i] << ' ';return 0; }解法2:填充到下標(biāo)1~n
#include <bits/stdc++.h> using namespace std; int main() {int a[105], ai = 0, x;while(cin >> x)a[++ai] = x;for(int i = ai; i >= 1; --i)cout << a[i] << ' ';return 0; }總結(jié)
以上是生活随笔為你收集整理的信息学奥赛一本通 2034:【例5.1】反序输出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 信息学奥赛一本通(1124:矩阵加法)
- 下一篇: 信息学奥赛一本通(1161:转进制)