網頁

2008年3月27日 星期四

【教學】C語言,小考六。尋找陣列中特定數值。(2008.03.29改)

以下是我寫的答案。

/* C Programming, Quiz 6A */
/*
班別: 
學號: 
姓名:
小考六題目:完成一個函數,countEven,主程式中呼叫該函數。 函數輸入一個二維陣列,列印出陣列中偶數的個數
函數輸入值:一個 int arr[ROW][COL]
函數輸出值:ㄧ個 int
題目輸入:如下列陣列 
題目輸出:印出偶數的個數 
*/


#define ROW 24
#define COL 20
int countEven(int,int,int W[][COL]);
int W[ROW][COL]={{41,67,34, 0,69,24,78,58,62,64, 5,45,81,27,61,91,95,42,27,36},
{91, 4, 2,53,92,82,21,16,18,95,47,26,71,38,69,12,67,99,35,94},
{ 3,11,22,33,73,64,41,11,53,68,47,44,62,57,37,59,23,41,29,78},
{16,35,90,42,88, 6,40,42,64,48,46, 5,90,29,70,50, 6, 1,93,48},
{29,23,84,54,56,40,66,76,31, 8,44,39,26,23,37,38,18,82,29,41},
{33,15,39,58, 4,30,77, 6,73,86,21,45,24,72,70,29,77,73,97,12},
{86,90,61,36,55,67,55,74,31,52,50,50,41,24,66,30, 7,91, 7,37},
{57,87,53,83,45, 9, 9,58,21,88,22,46, 6,30,13,68, 0,91,62,55},
{10,59,24,37,48,83,95,41, 2,50,91,36,74,20,96,21,48,99,68,84},
{81,34,53,99,18,38, 0,88,27,67,28,93,48,83, 7,21,10,17,13,14},
{ 9,16,35,51, 0,49,19,56,98, 3,24, 8,44, 9,89, 2,95,85,93,43},
{23,87,14, 3,48, 0,58,18,80,96,98,81,89,98, 9,57,72,22,38,92},                  {38,79,90,57,58,91,15,88,56,11, 2,34,72,55,28,46,62,86,75,33},
{69,42,44,16,81,98,22,51,21,99,57,76,92,89,75,12, 0,10, 3,69},
{61,88, 1,89,55,23, 2,85,82,85,88,26,17,57,32,32,69,54,21,89},
{76,29,68,92,25,55,34,49,41,12,45,60,18,53,39,23,79,96,87,29},
{49,37,66,49,93,95,97,16,86, 5,88,82,55,34,14, 1,16,71,86,63},
{13,55,85,53,12, 8,32,45,13,56,21,58,46,82,81,44,96,22,29,61},
{35,50,73,66,44,59,92,39,53,24,54,10,45,49,86,13,74,22,68,18},
{87, 5,58,91, 2,25,77,14,14,24,34,74,72,59,33,70,87,97,18,77},
{73,70,63,68,92,85, 2,80,13,27, 2,99,27,25,43,24,23,72,61,81},
{ 3,32, 5,93,25,31,92,42,22,86,64, 0,87,60,13,74,70,70,35,33},
{11,60,96,67,85,50,40,94,95,24,19,25,76,94,58, 2,71,66,78,93},
{51,84,18,64,19,52, 0,87,60,26,10,57,70,15,76,27,43,58,64, 9}};


int main()
{
    int i,j,sum;//i=列、j=欄、sum=countEven函數的回傳值(偶數的個數) 
    sum=countEven(i,j,W);
    printf("%d\n",sum);
    system("pause");
    return 0;
} 

int countEven(int a,int b,int arr[][COL])
{/*二維以上之陣列的函數傳遞方式*/ 
    int sum=0;
    for(a=0;a< />
    {
        for(b=0;b< />
        {
            if(arr[a][b]%2==0)
                sum++;
        }
    }
    return sum;
}



答案是共有244個偶數(0算偶數)。

※有哪裡不懂得可以MSN問我,如果有錯誤的地方,可以直接在底下回覆糾正我的錯誤。


END

沒有留言:

張貼留言