一陣列求排序、總和、最大值~

Home Home
引用 | 編輯 karen7710
2007-06-22 19:13
樓主
推文 x0
題目:
已知一陣列array={45,65,24,49,68,78,45,12,32,40},
試寫ㄧ程式,包含了三個函式,功能為排序、求總和以及求最大值。

以下是我寫的程式,可是無法正常的跑,麻煩大大幫我看哪裡出了問題?

#include <stdio.h>
#include <stdlib.h>

void sortA(int *);
int sum(int *);
int max(int *);

int main(void)
{
int array={45,65,24,49,68,78,45,12,32,40};
int *p,i;
*p= ..

訪客只能看到部份內容,免費 加入會員



獻花 x0
引用 | 編輯 GNUGCC
2007-06-22 23:24
1樓
  
//升冪排序
void sortA(int *p)
{
int i,j,temp;  
for (i=0; i<10-1; i++)
for (j=i+1; j<n, j++)
  if (*(p+i) > *(p+j))
  { temp = *(p+i);
    *(p+i) = *(p+j);
    *(p+j) = temp;
  }
}

在排序函式內的 for (j=i+1; j<n, j++)
n 好像沒有被定義, n 可能要改成 10, 還有在

int array[10]={45,65,24,49,68,78,45,12,32,40};
int *p,i;
*p=&array;  
sortA(array);

指標 p 指向陣列的話除了不用加星號而且只要給陣列名稱就好了, 像這樣

p = array;

先跑看看是否還有其他問題...^^

獻花 x1
引用 | 編輯 gooda23
2007-06-23 16:32
2樓
  
在排序函式內的 for (j=i+1; j<n, j++)   //此行除了GUNGCC大大所說的n改為10外 j<n後面 , 改 ;
int sum(int *p,) //此行多了 , 改為 int sum(int *p)
傳回總和 此處retuen sum;     //改為return sum;

獻花 x1
引用 | 編輯 ety
2007-06-23 17:50
3樓
  
你們看得可真仔細...

獻花 x0
引用 | 編輯 karen7710
2007-06-24 10:07
4樓
  
感謝你們喔^^
可以正常跑了! 表情

獻花 x0
引用 | 編輯 popzblack
2009-07-28 11:51
5樓
  
真是旁觀者清.....看好仔細喔!!! 表情

獻花 x0