作业帮 > 综合 > 作业

请用C语言编写如下程序:有一个班的4个学生,有5门课

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/01 22:34:07
请用C语言编写如下程序:有一个班的4个学生,有5门课
(1)求第一门课的平均分(2)找出两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩(3)找出平均成绩在90分以上或全部成绩在85分以上的学生.分别编写个函数实现以上3个要求
#include "stdio.h"
struct student
{
\x09char cord[10];
\x09double cj[5];
\x09double av;
\x09int jg;
};
double input(student *st)
{
\x09int i,j;
\x09double s,s1;
\x09s1=0;
\x09for(i=0;i<4;i++)
\x09{
\x09\x09s=0;
\x09\x09printf("输入第%d名学生的学号和5门成绩:",i+1);
\x09\x09scanf("%s",st[i].cord); 
\x09\x09for(j=0;j<5;j++)
\x09\x09{
\x09\x09\x09scanf("%lf",&st[i].cj[j]);
\x09\x09\x09s+=st[i].cj[j];
\x09\x09\x09if(j==0)
\x09\x09\x09\x09s1+=st[i].cj[j];
\x09\x09}
\x09\x09st[i].av=s/5;
\x09}
\x09printf("\n\n");
\x09return s1;
}
void jg2(student *st)
{
\x09int i,j,k;
\x09for(i=0;i<4;i++)
\x09{
\x09\x09st[i].jg=0;
\x09\x09for(j=0;j<5;j++)
\x09\x09{
\x09\x09\x09if(st[i].cj[j]>=60) 
\x09\x09\x09\x09st[i].jg+=1;
\x09\x09}
\x09\x09if(st[i].jg<3)
\x09\x09{
\x09\x09\x09printf("%10s: ",st[i].cord);
\x09\x09\x09for(k=0;k<5;k++)
\x09\x09\x09{
\x09\x09\x09\x09printf("%3.0lf ",st[i].cj[k]);
\x09\x09\x09}
\x09\x09\x09printf("%3.2lf\n",st[i].av);
\x09\x09}
\x09}
\x09printf("\n\n");

void gf(student *st)
{
\x09int i,j,k,m;
\x09for(i=0;i<4;i++)
\x09{
\x09\x09if(st[i].av>=90)
\x09\x09{
\x09\x09\x09m=0;

\x09\x09}
\x09\x09else
\x09\x09{
\x09\x09\x09for(j=0;j<5;j++)
\x09\x09\x09{
\x09\x09\x09\x09if(st[i].cj[j]<85)
\x09\x09\x09\x09{
\x09\x09\x09\x09\x09m=1;
\x09\x09\x09\x09\x09break;
\x09\x09\x09\x09}
\x09\x09\x09\x09else
\x09\x09\x09\x09{
\x09\x09\x09\x09\x09m=0;
\x09\x09\x09\x09}
\x09\x09\x09}
\x09\x09}
\x09\x09if(m==0)
\x09\x09{
\x09\x09\x09printf("%10s: ",st[i].cord);
\x09\x09\x09for(k=0;k<5;k++)
\x09\x09\x09{
\x09\x09\x09\x09printf("%3.0lf ",st[i].cj[k]);
\x09\x09\x09}
\x09\x09\x09printf("%3.2lf\n",st[i].av);
\x09\x09}
\x09}
\x09printf("\n\n");
}
int main()
{
\x09double av1;
\x09struct student st1[4];
\x09av1=input(st1)/4;
\x09printf("第一门课的平均分:%lf\n\n",av1);
\x09printf("两门不及格:\n");
\x09jg2(st1);
\x09printf("平均成绩在90分以上或全部成绩在85分以上的学生:\n");
\x09gf(st1);
}