①求第1门课程的平均分;
②找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩;
③找出平均成绩在90分以上或全部课程成绩在85分以上的学生。
分别编3个函数实现以上3个要求。

代码:

#include <stdio.h>
#include <string.h>
#define H 30
#define N 6
int stu;
int main(){void average(float score[N][N]);void find1(float score[N][N]);void find2(float score[N][N]);//course数组的行数=score数组列数//定义字符二维数组course,每行存一个课程名char course[N][H],(*p)[H]=course;//定义整型二维数组,每行存一个同学的成绩float score[N][N],(*q)[N]=score;int i,j;//第一行设置为字符串: idstrcpy(course[0],"NO");//输入要统计的课程名printf("请输入%d个课程名: ",N-1);for(i=1;i<N;i++){scanf("%s",p[i]);}//输入要统计多少个同学的成绩printf("请输入要统计的人数: ");scanf("%d",&stu);//输入学号和成绩for(i=0;i<stu;i++){for(j=0;j<N;j++){if(j==0){printf("========================\n");printf("请输入第%d个同学的学号:",i+1);scanf("%f",q[i]+0);}else{printf("请输入%s的成绩:",p[j]);scanf("%f",q[i]+j);}}}printf("=============================\n");//打印输入的数据for(i=0;i<N;i++){printf("%s  ",p[i]);}printf("\n");for(i=0;i<stu;i++){for(j=0;j<N;j++){if(j==0)printf("%2.0f ",*(q[i]+j));else  printf("%.2f  ",*(q[i]+j));}printf("\n");}average(score);find1(score);find2(score);return 0;
}
//求第一门课程的平均成绩
void average(float score[N][N]){float num=0;float (*p1)[N]=score;float aver;for(int i=0;i<stu;i++){num+=*(*(p1+i)+1);}aver=num/stu;// printf("num=%d\n",num);printf("=============================\n");printf("第一门课程的平均成绩aver=%.2f\n",aver);
}
//找出两门以上课程成绩不及格的学生
void find1(float score[N][N]){float (*p2)[N]=score;//定义一维数组num记录每个同学不及格科目数int num[N]={0},i,j;for(i=0;i<stu;i++){for(j=1;j<N;j++){if(*(*(p2+i)+j)<60){num[i]++;}}//每个同学的不及格科目数//  printf("num[%d]=%d\n",i,num[i]);}printf("=============================\n");printf("不及格的学生的学号及成绩如下:\n");for(i=0;i<stu;i++){if(num[i]>2){for(j=0;j<N;j++){if(j==0)printf("%.0f ",*(*(p2+i)+j));else printf("%.2f  ",*(*(p2+i)+j));}}}printf("\n");
}
//找出平均成绩在90分以上或者每科都大于85的
void find2(float score[N][N]){float (*p3)[N]=score;//定义一维数组num1记录每个同学的成绩高于85分以上的科目数int num1[N]={0},i,j;//定义一维数组num2记录每个同学的平均成绩float num2[N]={0};for(i=0;i<stu;i++){for(j=1;j<N;j++){if(*(*(p3+i)+j)>85){num1[i]++;}num2[i]+=*(*(p3+i)+j);}num2[i]=num2[i]/(N-1);//   printf("num1[%d]=%d\n",i,num1[i]);//  printf("num2[%d]=%.2f\n",i,num2[i]);}printf("=============================\n");printf("符合要求的学生的学号及成绩如下:\n");for(i=0;i<stu;i++){if(num1[i]==N-1||num2[i]>90){for(j=0;j<N;j++){if(j==0)printf("%.0f ",*(*(p3+i)+j));else printf("%.2f ",*(*(p3+i)+j));}printf("\n");}}
}

运行结果:

有一个班4个学生,5门课程。相关推荐

  1. 有一个班4个学生,5门课程①求第1门课程的平均分;②找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩;③找出平均成绩在90分以上或全部课程成绩在85分以上的学生分别编3个函数实

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

  2. C 语言:有一个班4个学生,5门课程。

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

  3. 汇编语言#编写两个子程序,分别实现:1)使用选择法排序,按成绩从高到低的进行排序;2)分别统计学生某门课程成绩中各分数段的成绩的人数,并输出

    汇编语言#编写两个子程序,分别实现:1)使用选择法排序,按成绩从高到低的进行排序:2)分别统计学生某门课程成绩中各分数段的成绩的人数,并输出 选择排序(Selection sort)是一种简单直观的排 ...

  4. 输入5个学生某门课程的成绩(用一维数组表示),分别用函数实现下列功能:

    输入5个学生某门课程的成绩(用一维数组表示),分别用函数实现下列功能: 要求:学生成绩及学生个数均由main函数传递给被调用函数,形参采用指针形式. 1)输出这5个学生的平均成绩 2)输出5个学生中的 ...

  5. c语言输入6名学生5门课程的成绩,求解输入10个学生5门课的成绩,分别用函数实现下列功能:...

    我也写了一个,没有测试,不知对不对! #include int main(void) { int a[10][5], i, j;/*表示是10个学生,五门课程的成绩的数组*/ int average( ...

  6. c语言作业 统计成绩,C语言作业 输入多名学生3门课程成绩,并统计成绩的平均分和总分,并根据总分输出名次。...

    如一楼所言,没有多少人有这个时间来给你写.如果你只是为了交作业,建议你端正你的学习态度.如果你是一名学生成绩管理人员,建议稍微学一下Office,用Office进行学生成绩查询排名是很快的,拜托你能不 ...

  7. mysql计算每门课程的平均分_学生各门课程成绩统计SQL语句大全

    转载 创建表 SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[stuscor ...

  8. c语言程序输入自己班级学号,找高手帮忙c语言程序::输入一个班10个学生的学号和每个学生考试三门功课(数学、英语、计算机基础)的成绩...

    满意答案 97sdgsdf 2013.05.21 采纳率:47%    等级:12 已帮助:19414人 这么麻烦的题目.... void sort(float *all, int n, int *o ...

  9. c语言中调用平均成绩,C语言、用调用函数、输入3个学生5门课程的成绩分别用函数求每个学生平均分每门课的平均分...

    满意答案 wzbowei 2013.11.23 采纳率:45%    等级:12 已帮助:6317人 #include float sum1(float p[][5],float reault1[], ...

最新文章

  1. 顶会论文轮番炸场,本周哪些论文最值得读?
  2. OS-written test2
  3. python 剪切一行内容到另一个文件
  4. 双十一,没有买卖就没有伤害!
  5. 十六进制报文用wireshark打开
  6. python获取select选中的值_python – 使用flask从select标签获取值
  7. 拉拢苹果用户,谷歌推出“从 iOS 转移到 Android” App
  8. 昨天1024程序员节,我故意写了个死循环~
  9. 第三篇 层次类非线性表的编程实验 第9章 应用二叉树的基本概念编程
  10. MySQL数据库选型
  11. 勤哲excel服务器2017应用及无限用户
  12. 手机ttl刷机linux,机顶盒刷机基础,TTL科普及简单介绍,TTL安装应用方法
  13. 双拼输入法学习-搜狗方案-3
  14. el-table点击单元格自动聚焦可编辑,且失去焦点即修改成功的实现方法
  15. 发那科机器人GI分配_发那科机器人IO信号的种类与常用信号的分配
  16. C++ 调用Asprise OCR识别图片中的文字
  17. Processing学习笔记 巨细无比
  18. 直播平台源码中的推拉流是什么
  19. 自学Linux 2—Linux 的系统架构之 Linux 内核的主要模块和 Linux 的文件结构
  20. 在quartus中使用FFT IP核最全教程(从入门到放弃)

热门文章

  1. flash 元件修改父级界面里面的元件属性
  2. CM311-1sa-CH_S905L3AB_无线5621DS_安卓9.0_线刷固件包
  3. 80 Gbps 的 USB4 2.0 要来了!
  4. 对开源操作系统最友好的龙芯
  5. 单面打印机打印小册子_如何在Microsoft Word中创建可打印的小册子
  6. 工作系列Java开发之利用Java实现ERP系统中Excel表格的导出
  7. 使用“PC定时执行专家”,提高你的工作效率
  8. Spring Boot 操作 Excel
  9. C#实现的 写字板 程序
  10. 云原生技术和架构概述