有一个班4个学生,5门课程。 1、求第一门课程的平均分; 2、找出有两门课程以上不及格的学生,输出他们的学号和全部课程成绩及平均成绩; 3、找出平均成绩在90分以上或全部课程成绩在85分以上的学生。

编程入门 行业动态 更新时间:2024-10-13 20:20:39

有一个班4个学生,5门<a href=https://www.elefans.com/category/jswz/34/1770049.html style=课程。 1、求第一门课程的平均分; 2、找出有两门课程以上不及格的学生,输出他们的学号和全部课程成绩及平均成绩; 3、找出平均成绩在90分以上或全部课程成绩在85分以上的学生。"/>

有一个班4个学生,5门课程。 1、求第一门课程的平均分; 2、找出有两门课程以上不及格的学生,输出他们的学号和全部课程成绩及平均成绩; 3、找出平均成绩在90分以上或全部课程成绩在85分以上的学生。

/*有一个班4个学生,5门课程。
1、求第一门课程的平均分;
2、找出有两门课程以上不及格的学生,输出他们的学号和全部课程成绩及平均成绩;
3、找出平均成绩在90分以上或全部课程成绩在85分以上的学生。
分别编3个函数实现以上3个要求*/#include <stdio.h>int main()
{int fun1(float (*p)[6]);int fun2(float (*p)[6]);int fun3(float (*p)[6]);float a[4][6];int i,j;float (*p)[6];p = a;printf("请输入学号和成绩:\n");for(i = 0;i < 4;i++){for(j = 0;j < 6;j++){scanf("%f",&a[i][j]);}}fun1(p);fun2(p);fun3(p);} //求第一门成绩的平均分 
int fun1(float (*p)[6])
{float sum = 0.0;int i;for(i = 0;i < 4;i++){sum += *(*(p + i) + 1);}printf("平均分是:%f\n",sum/4);
}//找出有两门课程以上不及格的学生,输出他们的学号和全部课程成绩及平均成绩
int fun2(float (*p)[6])
{int i,j,n,flag = 0;float sum;for(i = 0;i< 4;i++){n = 0;sum = 0.0;for(j = 1;j < 6;j++){if(*(*(p + i) + j) < 60){n ++;}sum += *(*(p + i) + j); }if(n >= 2){printf("学号为%f的学生有超过两门成绩不合格\n",*(*(p + i) + 0));printf("成绩有:\n");for(j = 1;j < 6;j++){printf("%f ",*(*(p + i) + j));}printf("\n平均成绩是:%f\n",sum/5);flag = 1;}}if(flag == 0){printf("未找到!\n"); }
}//找出平均成绩在90分以上或全部课程成绩在85分以上的学生
int fun3(float (*p)[6])
{int i,j,n;float sum;for(i = 0;i < 4;i++){sum = 0.0;n = 0;for(j = 1;j < 6;j++){if(*(*(p + i) + j) >= 85){n++;}sum += *(*(p + i) + j);}if(sum / 5 >= 90 || n == 5){printf("符合条件3的学生有%f\n",*(*(p + i) + 0));}}
}

谭浩强C程序设计(第四版)p292第15题
这个题写成结构体输出结果更直观

/*有一个班4个学生,5门课程。
1、求第一门课程的平均分;
2、找出有两门课程以上不及格的学生,输出他们的学号和全部课程成绩及平均成绩;
3、找出平均成绩在90分以上或全部课程成绩在85分以上的学生。
分别编3个函数实现以上3个要求*/#include <stdio.h>typedef struct Student{char c[8];//学号float a[5];//成绩 
}Student;int main()
{int fun1(Student *p);int fun2(Student *p);int fun3(Student *p);int i,j;Student stu[4];Student *p;p = stu;printf("请输入学号和成绩:\n");for(i = 0;i < 4;i++){scanf("%s",stu[i].c);for(j = 0;j < 5;j++){scanf("%f",&stu[i].a[j]);}}fun1(p);fun2(p);fun3(p);
}//求第一门成绩的平均分
int fun1(Student *p)
{float sum = 0.0;int i;for(i = 0;i < 4;i++){sum += p[i].a[0]; }printf("第一门成绩的平均分是:%f\n",sum/4);
} //找出有两门课程以上不及格的学生,输出他们的学号和全部课程成绩及平均成绩
int fun2(Student *p)
{int i,j,n,flag = 0;float sum;for(i = 0;i< 4;i++){n = 0;sum = 0.0;for(j = 0;j < 5;j++){if(p[i].a[j] < 60){n ++;}sum += p[i].a[j]; }if(n >= 2){printf("学号为%s的学生有超过两门成绩不合格\n",p[i].c);printf("成绩有:\n");for(j = 0;j < 5;j++){printf("%f ",p[i].a[j]);}printf("\n平均成绩是:%f\n",sum/5);flag = 1;}}if(flag == 0){printf("未找到!\n"); }
}//找出平均成绩在90分以上或全部课程成绩在85分以上的学生
int fun3(Student *p)
{int i,j,n;float sum;for(i = 0;i < 4;i++){sum = 0.0;n = 0;for(j = 0;j < 5;j++){if(p[i].a[j] >= 85){n++;}sum += p[i].a[j];}if(sum / 5 >= 90 || n == 5){printf("符合条件3的学生学号是:%s\n",p[i].c);}}
}

这样学号和成绩就是不同的数据类型了

更多推荐

有一个班4个学生,5门课程。 1、求第一门课程的平均分; 2、找出有两门课程以上不及格的学生,输出他们的学号和全部课程成绩及平均成绩; 3、找出平均成绩在90分

本文发布于:2024-03-23 21:20:13,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1742947.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:课程   成绩   平均   学生   他们的

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!