C語言程式:查詢男生或女生的分數


假設我們有一個名為marks的陣列,其中包含一些分數,所有偶數索引的分數(如marks[0]、marks[2]等)代表男生的分數,所有奇數索引的分數代表女生的分數。我們還有另一個輸入gender。gender的值為'b'或'g',當為'b'時,我們需要返回所有男生的分數總和;當為'g'時,返回所有女生的分數總和。(陣列大小為N)

例如,如果輸入為N = 9,marks = [8,5,2,6,7,5,9,9,7],gender = 'g',則輸出為25,因為5 + 6 + 5 + 9 = 25。

為了解決這個問題,我們將遵循以下步驟:

  • g_sum := 0
  • b_sum := 0
  • for i := 0 to n-1 do
    • if i mod 2 = 1 then
      • g_sum := g_sum + marks[i]
    • else
      • b_sum := b_sum + marks[i]
  • if gender = 'b' then
    • return b_sum
  • return g_sum

示例

讓我們看看下面的實現來更好地理解:

#include <stdio.h>
#define N 9
int solve(int marks[], int n, char gender){
    int g_sum = 0;
    int b_sum = 0;
    for(int i = 0; i < n; i++){
        if(i % 2 != 0){
            g_sum += marks[i];
        }else{
            b_sum += marks[i];
        }    
    }
    if(gender == 'b')
        return b_sum;
    return g_sum;
}
int main(){
    int marks[N] = {8,5,2,6,7,5,9,9,7};
    char gender = 'g';
   
    int sum = solve(marks, N, gender);
    printf("%d", sum);
}

輸入

{8,5,2,6,7,5,9,9,7}, 'g'

輸出

25

更新於:2021年10月8日

839 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告