如何在C中添加多个重复总数

如何在C中添加多个重复总数

我正在写一个简单的C程序,它从用户那里获取数据并做一些数学运算。这是我的代码:

    #include <stdio.h>
    int main(void) {

        int semester_1,grade_1,grade_2,grade_3,subtotal,total_marks,average;
        printf("Enter number of semester you to check");
        scanf("%d", &semester_1);

        while (semester_1 > 0) {
            printf("Enter marks for first subject");
            scanf("%d", &grade_1);

            printf("Enter marks for second subject");
            scanf("%d", &grade_2);

            printf("Enter marks for third subject");
            scanf("%d", &grade_3);

            subtotal = grade_1 + grade_2 + grade_3;
            total_marks = subtotal / 300 * 100;
            printf("Your average this semester is %d", total_marks);

            semester_1--;
        }
        average = semester_1 / 100 * total_marks;
        printf("Your final average for all semesters is %d", average);
    }

这段代码的问题是,当我运行程序时,所有学期的最终平均值返回0。
我想得到所有学期的最终平均成绩。比方说,如果用户输入3作为他们想要检查的学期数,那么他们将被输入3次,然后显示最终平均值,但它只给出0。

最佳答案

    #include <stdio.h>
    int main(void) {

        int semester_1,grade_1,grade_2,grade_3,subtotal,total_marks,average;
        printf("Enter number of semester you to check");
        scanf("%d", &semester_1);

        while (semester_1 > 0) {
            printf("Enter marks for first subject");
            scanf("%d", &grade_1);

            printf("Enter marks for second subject");
            scanf("%d", &grade_2);

            printf("Enter marks for third subject");
            scanf("%d", &grade_3);

            subtotal = grade_1 + grade_2 + grade_3;
            total_marks = subtotal / 300.0 * 100.0;
            printf("Your average this semester is %d", total_marks);

            semester_1--;
        }
        average = semester_1 / 100.0 * total_marks;
        printf("Your final average for all semesters is %d", average);
    }

舍入误差

关于c - 如何在C中添加多个重复总数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33065305/

10-09 13:23