某班期中考试有三门功课,其中两门是主课,输入学生的学号,三门课的成绩,判断是否满足 下列条件之一:①三门课总分>270 分;②两门主课均在 95 分以上,另一门课不低于 70 分; ③有一门主课 100 分,其他两门课不低于 80 分。输出满足条件学生的学号、三门课成绩及平 均分。
你题目的解答代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)
#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);
}
}