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

設陣列array宣告為
int array[]={3,5,0,3,2,4,1,6,8,5,4,3,2};
(a)試撰寫一程式,利用sizeof關鍵字計算陣列array內元素的個數。
(b)接續(a),試找出陣列array內元素的值介於3~6之間(包含3和6)的元素共有幾個。

請幫幫忙><"

2007-06-02 17:56:25 · 3 個解答 · 發問者 鳳珍 1 in 電腦與網際網路 程式設計

3 個解答

//Power by Visual Studio 2005
#include
#include
int main(int argc, char* argv[]){
//==========START==========//
int arrayNumber[]={3,5,0,3,2,4,1,6,8,5,4,3,2},length=sizeof(arrayNumber)/4,i,counter=0;
printf("(a)array = %d\n",length);
for(i=0;i if((*(arrayNumber+i)>=3)&&(*(arrayNumber+i)<=6))
counter++;
printf("(b)Between 3 and 6 = %d\n",counter);
//==========END==========//
system("PAUSE");
return 0;
}

2007-06-02 19:19:05 · answer #1 · answered by Big_John-tw 7 · 0 0

Qqaa寫錯了一個地方, 變數j沒有初始值就直接拿出來++

計算陣列長度我會建議用 sizeof(array)/sizeof(array[0]), 因為如此一來, 有一天你array的型態改變時, 這個地方是不需要改程式的.
直接除以sizeof(int)還算OK, 直接除以4就不大理想, 會變magic number

2007-06-03 09:31:20 · answer #2 · answered by Walala 5 · 0 0

#include
#include

using namespace std;

int array[]={3,5,0,3,2,4,1,6,8,5,4,3,2};

int i,j;

int main(){
i= sizeof(array)/sizeof(int); //計算各數
cout << i << endl;

for(i--;i>=0;i--)
if(array[i]>=3 && array[i]<=6) //計算 3<=array[i]<=6 的個數
j++;

cout << j << endl;

system("pause");
return 0;
}

2007-06-09 17:46:15 補充:
抱歉

int i,j; 改為 int i,j=0;

2007-06-02 19:12:53 · answer #3 · answered by Qqaa 2 · 0 0

fedest.com, questions and answers