設陣列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 電腦與網際網路 ➔ 程式設計
//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
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⤋