iT邦幫忙

0

C:動態二維陣列

說明

Kevin是幸福企業的新進會計師,負責紀錄每日的營收。
隨著科技的發展,公司要更新財務系統,Kevin在操作系統的時候不小心系統中的員工編號順序搞反了
如果不趕快把這個問題解決,月底發薪水的時候,主管就可能會領到的菜鳥員工的薪水,員工領到董事長的薪水。
著急的Kevin面臨著即將被懲處的後果,請寫一個程式幫忙他把系統裡的數字全部倒過來吧!!!

Kevin會分批從系統中匯出目前員工的編號,以下為匯出編號的範例:
 10(本次匯出員工數量)
 1(空格) 204(空格) 301(空格) 5004
請將每位員工的編號倒過來成原本的編號。

此外,謹慎的Kevin會在隨機拿一位員工編號來檢查是否正確。
Kevin會輸入一個N,代表該員工被輸入的順序。
系統要印出第N位員工正確的編號。

Input Format

數字(本次匯出員工數量)(換行)
數字(員工編號)(空格) 數字(空格) 數字(空格) 數字(換行)
數字(要檢查的第N位員工)(換行)

Output Format

數字(空格) 數字(空格) 數字(空格) 數字(空格)......數字(最後無空格)(換行)
數字(第N位員工的正確編號)(換行)

1 個回答

0
微甜的酸
iT邦新手 3 級 ‧ 2021-04-24 13:50:26

怎麼還有?自己寫啦!一直問。
Python版答案拿去:

nums = list(input().split()) #讀取多輸入
last = nums.pop(-1)          #第N個
nums.reverse()               #反轉
print(*nums)                 #輸出
print(nums[last])            #輸出

算了,今天的額度都浪費在你身上,你要的拿去:

#include <iostream>
#include <algorithm>
#include <vector>

int main () {
  std::vector<int> nums;
  int x, n;
  
  std::cin >> x;
  
  for (int i=0; i<x; i++) {
      int num;
      std::cin >> num;
      nums.push_back(num);
  }
  
  std::cin >> n;

  std::reverse(nums.begin(),nums.end());

  for (std::vector<int>::iterator it=nums.begin(); it!=nums.end(); ++it)
    std::cout << *it << ' ' ;

  std::cout << std::endl << nums[n];
}

一樣沒有演算法,套件丟一丟,其它自己想。

我要發表回答

立即登入回答