DokiDokie
2021-09-22 23:00
采纳率: 100%
浏览 36

c语言程序设计问题,求代码加备注

某班期中考试有三门功课,其中两门是主课,输入学生的学号,三门课的成绩,判断是否满足 下列条件之一:①三门课总分>270 分;②两门主课均在 95 分以上,另一门课不低于 70 分; ③有一门主课 100 分,其他两门课不低于 80 分。输出满足条件学生的学号、三门课成绩及平 均分。

  • 好问题 提建议
  • 收藏

1条回答 默认 最新

  • 已采纳

    你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

    #include <stdio.h>
    struct stu
    {
        int num;
        float sub1;
        float sub2;
        float sub3;
    };
    void main()
    {
        int i,n;
        printf("\n输入学生人数:");
        scanf("%d", &n);
        struct stu s[n];
        for (i = 0; i < n; i++)
        {
            printf("\n输入学号:");
            scanf("%d", &s[i].num);
            printf("输入两门主课成绩:");
            scanf("%f%f", &s[i].sub1, &s[i].sub2);
            printf("输入另一门成绩:");
            scanf("%f", &s[i].sub3);
        }
        for (i = 0; i < n; i++)
        {
            if ((s[i].sub1 + s[i].sub2 + s[i].sub3 > 270) //①三门课总分>270 分
              || (s[i].sub1 > 95 && s[i].sub2 > 95 && s[i].sub3 >= 70) //②两门主课均在 95 分以上,另一门课不低于 70 分
              || ((s[i].sub1 == 100 || s[i].sub2 == 100) && (s[i].sub1>=80 && s[i].sub2>=80 && s[i].sub3>=80))) //③有一门主课 100 分,其他两门课不低于 80 分
                printf("\n学号:%d\n成绩1:%.2f\n成绩2:%.2f\n成绩3:%.2f\n平均分:%.2f\n", s[i].num, s[i].sub1, s[i].sub2, s[i].sub3, (s[i].sub1 + s[i].sub2 + s[i].sub3) / 3);
        }
    }
    

    img

    已采纳该答案
    评论
    解决 无用
    打赏 举报