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 i mod 2 = 1 then
- 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
广告