Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

โปรแกรม C หาคะแนนนักเรียนชายหรือหญิง


สมมติว่าเรามีอาร์เรย์ที่เรียกว่า เครื่องหมาย ซึ่งจะมีการให้เครื่องหมาย เครื่องหมายดัชนีทั้งหมด เช่น เครื่องหมาย[0] เครื่องหมาย[2] และอื่นๆ เป็นเครื่องหมายของเด็กผู้ชาย และเครื่องหมายที่จัดทำดัชนีทั้งหมดถือเป็นเครื่องหมายสำหรับเด็กผู้หญิง เรามีข้อมูลอื่นที่เรียกว่าเพศ ค่าของเพศคือ '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
  • ถ้าฉัน mod 2 คือ 1 แล้ว:
    • g_sum :=g_sum + เครื่องหมาย[i]
  • มิฉะนั้น
    • b_sum :=b_sum + เครื่องหมาย[i]
  • ถ้าเพศเหมือนกับ 'b' แล้ว:
    • ส่งคืน b_sum
  • ส่งคืน 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