题目要求:

定义一个二维数组保存 10个学生的5门课成绩,分别用函数实现:
(1)input():输入每个学生的成绩;
(2)output():输出每个学生的成绩;
(3)aver_stu():计算并输出每个学生的平均分;
(4)aver_cour():计算并输出每门课的平均分;
(5)highest():找出最高分数所对应的学生和课程。
程序运行时要求先在屏幕显示菜单,输入选择后分别调用对应的函数完成所选操作。

程序源码:

#include <stdio.h>

int array[][];

void input(void);
void output(void);
void aver_stu(void);
void aver_cour(void);
void highest(void); int main(void)
{
int n; input(); printf("请输入您要执行的选项:\n\
.输出每个学生的成绩;\n\
.输出每个学生的平均分:\n\
.输出每门课程的平均分:\n\
.找出最高分数所对应的的学生和课程\n"); scanf("%d", &n); switch(n)
{
case : output(); break;
case : aver_stu(); break;
case : aver_cour(); break;
case : highest(); break;
} return ;
} void input(void)
{
int i, j; for(i = ; i < ; i++)
{
printf("请输入学生%d的成绩:", i + ); for(j = ; j < ; j++)
{
scanf("%d", &array[i][j]);
}
}
} void output(void)
{
int i, j; for(i = ; i < ; i++)
{
for(j = ; j < ; j++)
{
printf("%d ", array[i][j]);
}
printf("\n");
}
} void aver_stu(void)
{
int sum[] = { };
double aver[];
int i, j; for(i = ; i < ; i++)
{
for(j = ; j < ; j++)
{
sum[i] += array[i][j];
}
aver[i] = sum[i] / ;
printf("学生%d的平均分为:%lf\n", i, aver[i]);
}
} void aver_cour(void)
{
int i, j;
int sum[];
double aver[]; for(j = ; j < ; j++)
{
for(i = ; i < ; i++)
{
sum[j] += array[i][j];
}
aver[j] = sum[j] / ;
printf("课程%d的平均分为:%lf\n", j, aver[j]);
}
} void highest(void)
{
int i, j;
int ii, jj;
int max = array[][]; for(i = ; i < ; i++)
{
for(j = ; j < ; j++)
{
if(max < array[i][j])
{
max = array[i][j];
ii = i;
jj = j;
}
}
}
printf("学生%d的课程%d得分最高,最高分为%d\n", ii, jj, max);
}

C语言小练习三的更多相关文章

  1. 通过反汇编C语言小程序学习Liunx汇编语言

    大家好!    我是来自山东师范大学的吴乐.    今天在<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ...

  2. 【C语言探索之旅】 第一部分第八课:第一个C语言小游戏

    ​ 内容简介 1.课程大纲 2.第一部分第八课:第一个C语言小游戏 3.第一部分第九课预告: 函数 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写 ...

  3. Linux下简单C语言小程序的反汇编分析

    韩洋原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 写在开始,本文为因为参加MOO ...

  4. C语言小程序——推箱子(窄字符和宽字符)

    C语言小程序——推箱子(窄字符Version) 推箱子.c #include <stdio.h> #include <conio.h> #include <stdlib. ...

  5. C语言小练习之学生信息管理系统

    C语言小练习之学生信息管理系统 main.c文件   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2 ...

  6. 012-C语言小游戏之推箱子

    012-C语言小游戏之推箱子 一.创建游戏地图   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #define ROWS 11 #define COLS 12   char ...

  7. 你想了解的《javaScript语言精粹》(三)

    # javaScript语言精粹  # 第三章 对象 - javaScript 数据类型     1. 基础数据类型         Number String Boolean Undefined N ...

  8. 数据结构与算法分析——C语言描述 第三章的单链表

    数据结构与算法分析--C语言描述 第三章的单链表 很基础的东西.走一遍流程.有人说学编程最简单最笨的方法就是把书上的代码敲一遍.这个我是头文件是照抄的..c源文件自己实现. list.h typede ...

  9. 狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(2)

    前文链接:狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(1) 小甲鱼在很多情况下是跟着谭浩强鹦鹉学舌,所以谭浩强书中的很多错误他又重复了一次.这样,加上他自己的错误,错谬之处难以胜数. 由于拙 ...

随机推荐

  1. linux Makefile obj-m obj-y

    目标定义是Kbuild Makefile的主要部分,也是核心部分.主要是定义了要编 译的文件,所有的选项,以及到哪些子目录去执行递归操作. 最简单的Kbuild makefile 只包含一行: 例子: ...

  2. [JSP]获取时间

    <%@ page contentType="text/html;charset=gb2312" %> <%@ page import="java.uti ...

  3. mysql优化要点(一)

    一  sql语句中使用函数需要注意,因为有可能结果每条语句都会调用,甚至表内每条记录都会调用. 二  注意转换,会消耗大量性能,甚至字符串的encoding不同,也会出现非常大的消耗 三  myisa ...

  4. loadrunner --global schedule设置

  5. linux入门级常用命令

    1) 关闭Linux系统的命令:init 02) Linux终端:Linux终端也称为虚拟控制台.Linux终端采用字符命令行方式工作,用户通过键盘输入命令,通过Linux终端对系统进行控制.3) 切 ...

  6. oracle、mysql新增字段,字段存在则不处理

    oracle: 表名:CHANNEL_TRADE_DETAIL列名:exchange_code declare v_rowcount integer; begin select count(*) in ...

  7. 个人关于React的一些理解

    ##React背景 React是当前前端最火的框架,它的理念思想及构建方法比AngularJS更适合做webApp. 它是由facebook团队研发并开源到社区,所以它有很强大的技术背景,而且它的架构 ...

  8. Win7与Mint双系统安装体验

    双系统安装前的准备 1.安装前的准备 安装双系统可能会对磁盘文件带来一些影响,为了避免在安装过程中由于系统瘫痪造成不必要的损失,所以我们在准备安装双系统之前,要对PC机中的重要文件进行备份,对资料要做 ...

  9. JSP计算器

    <%@ page language= "java" contentType="text/html;charset=UTF-8" %><html ...

  10. Python—判断变量的基本类型

    type() >>> type(123)==type(456) True >>> type(123)==int True >>> type('ab ...