我們要做一作業....是比較大小的
題目為
輸入N個數字之後
輸入-999為跳出
並把之前的數字由大到小排好
我問過我同學了
他說用FOR巢狀回圈
但是我想破頭想不出來了
只好問各位高手了^^"
2006-11-12 08:29:41 · 4 個解答 · 發問者 小小胖 1 in 電腦與網際網路 ➔ 程式設計
#include
#include
using namespace std;
int main(void)
{
int n,number[100],i,temp;
cout << endl << "請輸入有幾個數要比大小 : ";
cin >> n;
cout << endl << "接著輸入每個數的數值 : " << endl;
for(i=0;i
cin >> number[i];
}
for(int j=0;j
for(int k=j+1;k
if(number[j]>number[k])
{
temp=number[j];
number[j]=number[k];
number[k]=temp;
break;
}
}
}
cout << "最大值 : " << number[n-1] << endl;
cout << "最小值 : " << number[0] << endl;
system("PAUSE");
return 0;
}
我是用Visual C++ 6.0寫的
參考看看吧, 有問題或錯誤儘管問~
2006-11-12 17:23:06 補充:
抱歉 ... ... 上面這個程式碼我發現有錯改過之後 , 我把正確的程式碼我放在這裡https://web.thu.edu.tw/s952852/solve/answer_7.txt
2006-11-12 12:04:14 · answer #1 · answered by Tony Pai 5 · 0⤊ 0⤋
//Power by Microsoft Visual Studio 2005//可以使用 Dev-C++ 編譯此程式#include
2006-11-12 13:36:02 · answer #2 · answered by Big_John-tw 7 · 0⤊ 0⤋
struct SNumItem
{
int num;
SNumItem* pNext;
};// struct SNumItem
class CListNum
{
SNumItem m_head;
void cleanup( void);
void insertNum( INT num);
public:
CListNum( void);
~CListNum( void);
bool input( void);
void printOut( void);
};// class CListNum
CListNum::CListNum( void)
{
m_head.pNext= NULL;
}// CListNum()
CListNum::~CListNum( void)
{
cleanup();
}// ~CListNum()
void CListNum::cleanup( void)
{
SNumItem* pItem;
SNumItem* pDelete;
for( pItem= m_head->Next; pItem!= NULL;)
{
pDelete= pItem;
pItem= pItem->pNext;
delete pDelete;
}// for pItem
}// cleanup()
void CListNum::insertNum( INT num)
{
SNumItem* pItem;
SNumItem* pInsert;
bool bEnd;
pInsert= new SNumItem;
if( pInsert!= NULL)
{
pInert->num= num;
pInsert->pNext= NULL;
bEnd= false;
for( pItem= &m_head; !bEnd&& pItem->pNext!= NULL;)
{
if( num> pItem->pNext->num)
{
pInsert->pNext= pItem->pNext;
pItem->pNext= pInsert;
bEnd= true;
}// if num
else pItem= pItem->pNext;
}// for pItem
if( !bEnd) pItem->pNext= pInsert;
}// if pInsert
}// insertNum()
bool CListNum::input( void)
{
bool bRst;
int num;
printf( "input number: ");
scanf( "%d", &num);
bRst= num!= -999;
if( bRst) insert( num);
return( bRst);
}// input()
void CListNum::printOut( void)
{
SNumItem* pItem;
for( pItem= m_head->pNext; pItem!= NULL; pItem= pItem->pNext)
printf( "%d\n", pItem->num);
}// printOut
int main( void)
{
CListNum listNum;
while( listNum.input());
listNum.printOut();
getch();
}// int main()
1. 此程式未經 debug
2. 若不是練習的程式,排序部分應用 STL 會比較好.
3. 此片段僅拱參考.作業還是自己想比較好.
2006-11-12 09:40:22 · answer #3 · answered by Jackie 1 · 0⤊ 0⤋
這個問題應該已經出現 n 次了..你可以朝 "sort" , "排序" 這些字眼下去找
2006-11-12 08:59:36 · answer #4 · answered by 鳳琳 5 · 0⤊ 0⤋