#include <stdio.h>

struct student {
    int id;    /* 学籍番号 */
    int eng;   /* 英語の成績 */
    int math;  /* 数学の成績 */
    int sci;   /* 理科の成績 */
    int total; /* 合計点 */
};

void sum1(struct student s) {
    s.total = s.eng + s.math + s.sci;
}

void sum2(struct student *p) {
    p->total = p->eng + p->math + p->sci;
}

int main() {
    struct student s = {17001, 60, 100, 20};

    sum1(s); /* 値渡し */
    printf("%7d %5d %5d %5d %10d\n", s.id, s.eng, s.math, s.sci, s.total);

    sum2(&s); /* 参照渡し */
    printf("%7d %5d %5d %5d %10d\n", s.id, s.eng, s.math, s.sci, s.total);

    return 0;
}
