谭浩强C语言入门经典l例题292页——15

来源:互联网 发布:申请开淘宝店容易吗 编辑:程序博客网 时间:2024/05/19 09:16
#include <stdio.h> #include <malloc.h>#include <stdlib.h>#include <conio.h>typedef struct Student{float score[5];int num;}Node;double Average_1(void); //第一门课程的平均分 int No_To_Pass(void); //两门以上功课不及格的学生 int Excellent_Student(void); //平均成绩在90分以上或者全部课程成绩在85以上的学生 Node user[5];int main(){printf("请输入4个学生各自五门课程的成绩(按下回车继续):\n");getche();system("cls");for(int i=0;i<4;i++){printf("请输入第%d个学生的学号:",i+1);scanf("%d",&user[i].num);for(int j=0;j<5;j++){printf("请输入该学生的第%d门成绩: ",j+1);scanf("%f",&user[i].score[j]);}system("cls");} printf("第一门课程的平均分是:%.3lf\n",Average_1());No_To_Pass();Excellent_Student(); return 0;}double Average_1(void) //计算第一门课程的平均分 {double average = 0;for(int i=0;i<4;i++)average += user[i].score[0];return average/4;}int No_To_Pass(void) //输出两门以上功课不及格的学生 {int count,x=1; printf("======================两门功课以上不及格的同学=============================\n");for(int i=0;i<4;i++){count = 0;for(int j=0;j<5;j++){if(user[i].score[j]<60)count++;if(count==2){printf("学号为:%d\n如下为该学号学生的全部课程的成绩:\n",user[i].num);for(int k=0;k<5;k++)printf("%.3lf ",user[i].score[k]);printf("\n");x = 0;break;}}}if(x) printf("没有两门以上功课不及格的同学!!!\n");return 0;} int Excellent_Student(void) //成绩优秀的同学 {double sum;int count,x=1;printf("=======================成绩优秀的同学===========================================\n");for(int i=0;i<4;i++){sum = 0.0,count = 0;for(int j=0;j<5;j++){ sum += user[i].score[j];if(user[i].score[j]>=85)count++;}if(sum/5>=90||count==5){printf("学号为:%d\n如下为该同学的全部成绩:\n",user[i].num);for(int j=0;j<5;j++)printf("%.3lf ",user[i].score[j]);printf("\n");x = 0;}}if(x)printf("没有成绩优秀的同学\n");}


1 0
原创粉丝点击