註冊
登錄
論壇
搜索
幫助
導航
私人消息 (0)
公共消息 (0)
系統消息 (0)
好友消息 (0)
帖子消息 (0)
種子論壇 | 高雄市資訊培育協會學員討論區
»
【 教 師 專 區 】
»
TOI考古題
» 202411新手3-陣列運算 (Array)
返回列表
發帖
發短消息
加為好友
may
(奇異果)
當前離線
UID
9
帖子
2506
精華
1
積分
10
閱讀權限
200
來自
高雄市資訊培育協會
在線時間
1257 小時
註冊時間
2010-2-22
最後登錄
2025-4-4
管理員
1
#
跳轉到
»
正序看帖
打印
字體大小:
t
T
may
發表於 2024-12-25 23:24
|
只看該作者
202411新手3-陣列運算 (Array)
問題敘述 資訊老師最近在教陣列,為了讓大家練習陣列,他出了一道習題,要求大家撰寫一個程式,輸入兩個數列並儲存在兩個陣列中,然後按照下列規則進行運算:
1.第一輪處理第一個陣列。
2.自第二輪開始,如果上一輪的輸出是奇數,本輪處理第一個陣列;上輪的輸出是偶數,則處理第二個陣列。
3.處理陣列時,先檢查陣列的第一個數值是否可以被3整除。
3.1. 如果可以被3整除,則找到當前陣列的最大值(可能不只一個),輸出此值,然後把它們除以2(無條件捨去)。
3.2. 如果不能被 3 整除,則找到當前陣列的非 0 最小值(可能不只一個),輸出此值,然後把它們減去1。
4.重複步驟2到4,直到輸出0後停止。
評分說明 此題目測資分為兩組,每組測資有多筆測試資料,需答對該組所有測資才能獲得該組分數,各組詳細限制如下。
第一組 (20 分):確保同一列輸入的所有值均相同。
第二組 (80 分):無特別限制。
附件:
您需要
登錄
才可以下載或查看附件。沒有帳號?
註冊
本主題由 may 於 2024-12-27 22:38 設置高亮
收藏
分享
May
發短消息
加為好友
may
(奇異果)
當前離線
UID
9
帖子
2506
精華
1
積分
10
閱讀權限
200
來自
高雄市資訊培育協會
在線時間
1257 小時
註冊時間
2010-2-22
最後登錄
2025-4-4
管理員
2
#
may
發表於 2024-12-27 12:21
|
只看該作者
#include <bits/stdc++.h>
using namespace std;
int main()
{
int A[5], B[5], last = 1;//預設最後的輸出是1,才能先處理第一輪
for (int i = 0; i < 5; ++i)
{
cin >> A[i];
}
for (int i = 0; i < 5; i++)
{
cin >> B[i];
}
while (1)
{
if (last % 2 == 1) // 處理第一個陣列
{
if (A[0] % 3 == 0) // 如果第一個數值可以被3整除
{
int max = 0;
for (int i = 0; i < 5; ++i) // 找到最大值
{
if (A[i] > max)
{
max = A[i];
}
}
cout << max << endl;
for (int i = 0; i < 5; i++) // 將他們除以2
{
if (A[i] == max)
{
A[i] /= 2;
}
}
last = max;
}
else // 如果第一個數值不能被3整除
{
int min = 2147483647;
for (int i = 0; i < 5; ++i) // 找到非0最小值
{
if (A[i] < min && A[i] != 0)
{
min = A[i];
}
}
cout << min << endl;
for (int i = 0; i < 5; ++i) // 將他們減去1
{
if (A[i] == min)
{
A[i] -= 1;
}
}
last = min;
}
}
else // 處理第二個陣列
{
if (B[0] % 3 == 0) // 如果第一個數值可以被3整除
{
int max = 0;
for (int i = 0; i < 5; ++i) // 找到最大值
{
if (B[i] > max)
{
max = B[i];
}
}
cout << max << endl;
for (int i = 0; i < 5; ++i) // 將他們除以2
{
if (B[i] == max)
{
B[i] /= 2;
}
}
last = max;
}
else // 如果第一個數值不能被3整除
{
int min = 2147483647;
for (int i = 0; i < 5; ++i) // 找到非0最小值
{
if (B[i] < min && B[i] != 0)
{
min = B[i];
}
}
cout << min << endl;
for (int i = 0; i < 5; ++i) // 將他們減去1
{
if (B[i] == min)
{
B[i] -= 1;
}
}
last = min;
}
}
if (last == 0)
{
break;
}
}
}
複製代碼
May
TOP
返回列表
谷哥人營隊
Python研習營(113-114)
114年Python證照特訓
114年谷哥人程式體驗營
114年APCS冬令營
113Scratch夏令營
Scratch冬令營(113-114)
113年國三專班
Python證照特訓營(113)
113年程式夏令營(一)(二)
113年APCS夏令營(一)(二)
C語言 / C++ (特別輔導)
C++證照
C#
家教/特輔
C語言特輔/證照(家教)
C++證照
C#
HTML5+CSS+JavaScript+PHP+MySQL
Java 家教 (王捷恩)
TQC+資料結構
快樂學 Scratch
Python 家教 (王捷恩 康恒睿)
Python 特別輔導 (家教)
快樂 C++ (家教)
iKnow
我愛 Java (家教)
程式解題我最行 (家教)
程式常態班
C++ 新生挑戰區
考照心得分享
快樂 C++11307週五19:00
快樂C++11309週六13:30-15:30
快樂 C++11403週六1000
快樂 C++11303 (週六15:40-17:40) 3F
程式解題我最行 (週六15:30-17:30) 3F
快樂 C++ (週六13:30-15:30) 3F
快樂 C++ (週六19:00-21:00) 3F
程式解題我最行 (週六10:00-12:00) 3F
快樂學 Scratch
程式解題我最行(週五19:00-21:00)
快樂 C++ (週六13:30-15:30) 3F
程式解題我最行(週三19:15-21:15)
快樂 C++11207週六10
快樂 C++11208週六19:00
程式解題我最行 (週六19:00-21:00) 3F
程式解題我最行 (週四19:10-21:10)
產投職訓
結訓課程 (產投職訓)
Php & MySQL old
Illustrator old
Dreamweaver old
Android手機程式開發班
PHP & MySQL電子商務互動式網站實作班 (102下)
PHP & MySQL (102上)
PHP & MySQL電子商務互動式網站實作班
Photoshop數位影像設計初階
Flash創意廣告動畫初階
行銷短片視訊剪輯
數位商業攝影實務班
PHP & MySQL電子商務系統開發實務初階班
電子商務系統開發實務中階班
Server基礎架設&動態網頁設計初階班
Java視窗應用程式設計與遊戲開發班
Illustrator時尚插畫創作設計初階班
102上Php & MySQL 初階班
電子商務互動式網站實作中階
Dreamweaver多媒體網頁設計
Android手機程式開發班(2012年10月)
PHP & MySQL (2012年10月)
創意塗鴉
yahoo橫幅
google橫幅
市民學苑
第二屆樂活部落格
第一屆電腦設備簡易維護和故障排除班
專案訓練
電子商務創業班
TQC PHP認證
投資理財班
領隊導遊班
電腦基礎及網路應用身心障礙專班
應用軟體網頁化開發
[收藏此主題]
[關注此主題的新回復]
[通過 QQ、MSN 分享給朋友]