標題:
046 數字陣列泡沫排序
[打印本頁]
作者:
游東祥
時間:
2014-4-26 15:02
標題:
046 數字陣列泡沫排序
本帖最後由 游東祥 於 2014-4-26 15:03 編輯
宣告一個大小為10的陣列,讓使用者逐一輸入0~10個數字。
使用者輸入的數字將依序存在陣列內。
如果使用者輸入"0",代表輸入結束。
將這個陣列由大至小排列,並輸出陣列內容。
範例:
請輸入第1個數字:15
請輸入第2個數字:40
請輸入第3個數字:11
請輸入第4個數字:0
-----------------------
輸入的數字數量:3個
排序後陣列內容如下:
1 - 40
2 - 15
3 - 11
範例2:
請輸入第1個數字:66
請輸入第2個數字:13
請輸入第3個數字:80
請輸入第4個數字:99
請輸入第5個數字:45
請輸入第6個數字:64
請輸入第7個數字:0
-----------------------
輸入的數字數量:6個
陣列內容如下:
1 - 99
2 - 80
3 - 66
4 - 64
5 - 45
6 - 13
作者:
林宇翔
時間:
2014-4-26 15:23
本帖最後由 林宇翔 於 2014-4-26 17:38 編輯
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int z[10];
int index = 0;
int max = 10;
bool isEnd = false;
while(index < 10 && isEnd == false)
{
cout << "請輸入第" << index + 1 << "個數字:" ;
cin >> z[index];
if(z[index] == 0)
{
isEnd = true;
}
index++;
}
for (int j = 0;j < index - 1; j++)
{
for (int i = 0; i < index - 1; i++)
{
if (z
< z[i+1])
{
int tmp = z
;
z
= z[i+1];
z[i+1] = tmp;
}
}
}
cout << "-----------------------" << endl;
cout << "輸入的數字數量:" << index << "個" << endl;
cout << "陣列內容如下:" << endl;
for(int x = 0; x < index - 1; x++)
{
cout << x << " - " << z[x] << endl;
}
system ("pause");
return 0;
}
作者:
李允軒
時間:
2014-4-26 15:31
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int max = 10;
int index = 0;
int z[10] = {};
bool isEnd = false;
while(index < max && isEnd == false)
{
cout << "請輸入第" << index + 1 << "個數字:";
cin >> z[index];
if (z[index] == 0)
{
isEnd = true;
}
index++;
}
for (int j = 0; j < index - 1;j++)
{
for (int i = 0; i < index - 1; i++)
{
if (z[i] < z[i+1])
{
int tmp = z[i];
z[i] = z[i+1];
z[i+1] = tmp;
}
}
}
cout << "-----------------------" << endl;
cout << "輸入的數字數量:" << index - 1 << "個" << endl;
cout << "陣列內容如下:" << endl;
for(int i = 0; i < index - 1; i++)
{
cout << i << "-" << z[i] << endl;
}
system("pause");
return 0;
}
複製代碼
歡迎光臨 種子論壇 | 高雄市資訊培育協會學員討論區 (http://istak.org.tw/seed/)
Powered by Discuz! 7.2