C 程序用于查找男生或女生学生的分数

cserver side programmingprogramming

假设我们有一个名为 marks 的数组,其中给出了一些分数,所有偶数索引的分数(如 marks[0]、marks[2] 等)都表示男生的分数,所有偶数索引的分数都表示女生的分数。我们还有另一个输入,称为 gender。gender 的值是 'b' 或 'g',当它是 'b' 时,我们必须返回所有男生的分数总和,当它是 'g' 时,我们必须返回所有女生的分数总和。 (数组大小为 N)

因此,如果输入为 N = 9 分数 = [8,5,2,6,7,5,9,9,7] 性别 = 'g',则输出将为 25,因为 5 + 6 + 5 + 9 = 25。

为了解决这个问题,我们将遵循以下步骤 −

  • g_sum := 0
  • b_sum := 0
  • 初始化 i := 0,当 i < n,更新(将 i 增加 1),执行:
    • 如果 i mod 2 为 1,则:
      • g_sum := g_sum + marks[i]
    • 否则
      • b_sum := b_sum + marks[i]
  • 如果gender与"b"相同,则:
    • 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

相关文章