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
廣告