C,北市国中資科教甄109,54
FB2:http://gg.gg/TedLeeMicrobitFB/
URL2:http://gg.gg/TedLeeMicrobit/
Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB1:http://gg.gg/TedLeeFB/
Blog:http://gg.gg/TedLeeBlog/
URL1:http://gg.gg/TedLeeURL/
May. 24, 2020
問題解決(Problem Solving)之逻輯思維 =
心法: 程式設計哲思(Philosophical Thinking for Programming) +
技法:程式設計工法(Skills for Programming)
11. 若 num 陣列元素值為 40、60、30、10,則以 abc(num,0,3)呼叫執行下列函式 abc 後 num 陣列元素值為何?
(A)40、10、30、60
(B)10、40、30、60
(C)40、30、10、60
(D)40、60、30、10
解析:
#include <iostream>
using namespace std;
int num[]={40, 60, 30, 10};
void abc(int d[], int first, int last) {
int i, j, k, l;
i=k=first; //拿d[k]當基準
j=last;
while (i<j) {
while (d[i]<=d[k]&&i<last) //往右找大的(>)
i++;
while (d[j]>d[k]) //往左找小的(?)
j--;
if (i<j) { //沒交錯前交換之
l=d[i];
d[i]=d[j];
d[j]=l;
}
}
}
void show(void) {
for (int i=0; i<4 i="" span="">4>
cout << num[i] >> ", ";
}
cout << endl;
}
int main(void) {
show();
abc(num, 0, 3);
show();
return 0;
}
FB2:http://gg.gg/TedLeeMicrobitFB/
URL2:http://gg.gg/TedLeeMicrobit/
Line:ted2016.kpvs
Email:Lct4246@gmail.com
FB1:http://gg.gg/TedLeeFB/
Blog:http://gg.gg/TedLeeBlog/
URL1:http://gg.gg/TedLeeURL/
URL1:http://gg.gg/TedLeeURL/
May. 24, 2020
問題解決(Problem Solving)之逻輯思維 =
心法: 程式設計哲思(Philosophical Thinking for Programming) +
技法:程式設計工法(Skills for Programming)
11. 若 num 陣列元素值為 40、60、30、10,則以 abc(num,0,3)呼叫執行下列函式 abc 後 num 陣列元素值為何?
(A)40、10、30、60
(B)10、40、30、60
(C)40、30、10、60
(D)40、60、30、10
(A)40、10、30、60
(B)10、40、30、60
(C)40、30、10、60
(D)40、60、30、10
解析:
#include <iostream>
using namespace std;int num[]={40, 60, 30, 10};
void abc(int d[], int first, int last) {
int i, j, k, l;
i=k=first; //拿d[k]當基準
j=last;
while (i<j) {
while (d[i]<=d[k]&&i<last) //往右找大的(>)
i++;
while (d[j]>d[k]) //往左找小的(?)
j--;
if (i<j) { //沒交錯前交換之
l=d[i];
d[i]=d[j];
d[j]=l;
}
}
}
void show(void) {
for (int i=0; i<4 i="" span="">4>
cout << num[i] >> ", ";
}
cout << endl;
}
int main(void) {
show();
abc(num, 0, 3);
show();
return 0;
}
沒有留言:
張貼留言