English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

#include
int x[8]={52,45,21,325,632,256,28,12};

main()
{ int a=0,i=0,y;
while(a<=7)
{
while(i<=6)
{ if(x[i]>x[i+1])
{ y=x[i];x[i]=x[i+1];x[i+1]=y;
}
i++;
}
a++;
}
printf("%d,%d\\n",x[7],x[0]);
}

這是找出最大 最小的程式可是我只跑出最大的 最小的跑錯了
請問我哪裡有錯ㄋ

2006-11-05 17:13:55 · 3 個解答 · 發問者 wei 4 in 電腦與網際網路 程式設計

.............
有點雞同亞獎喔
我希望能從我的程式裡幫我修改程式

2006-11-05 17:58:59 · update #1

3 個解答

#include int x[8]={52,45,21,325,632,256,28,12};main(){  int a=0,i=0,y;    while(a<=7) {       i=0;    //最重要的reset...你沒有reset       while(i<=6){  //如果用i<=7-a-1 可以跑少次一點點     if(x[i]>x[i+1]){       y=x[i];x[i]=x[i+1];x[i+1]=y;     }           i++;    }       a++; }    printf("%d,%d\n",x[7],x[0]);}//基本上沒什麼大錯...就i忘了重設為0

2006-11-05 19:48:36 · answer #1 · answered by ? 4 · 0 0

要我會寫成
#include
int x[8]={52,45,21,325,632,256,28,12};

main()
{ int a=0,i=0,y,end=7;
while(end!=0){//<=新增這一行
a=0;){//<=新增這一行

while(a<=end)){//<=新增這一行
{
i=0;){//<=新增這一行
while(i {
if(x[i]>x[i+1])
{
y=x[i];x[i]=x[i+1];x[i+1]=y;
}
i++;
}
a++;
}
end--;){//<=新增這一行
}
printf("%d,%d\n",x[7],x[0]);
}

2006-11-05 23:35:03 補充:
不知我幫你改成這樣可以嗎?

2006-11-05 18:27:44 · answer #2 · answered by 家德 2 · 0 0

//Power by Microsoft Visual Studio 2005//可以使用 Dev-C++ 編譯此程式#include#includeint main(int argc, char *argv[]){ //=====START=====// void resort(int LENGTH,int *NUM); int x[]={52,45,21,325,632,256,28,12}; resort(sizeof(x)/4,x); printf("MAX: %d\n",x[sizeof(x)/4-1]); printf("MIN: %d\n",x[0]); //=====END=====// system("PAUSE"); return 0;}void resort(int LENGTH,int *NUM){ int i,j,temp; for(j=0;j

2006-11-05 17:51:58 · answer #3 · answered by Big_John-tw 7 · 0 0

fedest.com, questions and answers