C语言小练习三
题目要求:
定义一个二维数组保存 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语言小练习三的更多相关文章
- 通过反汇编C语言小程序学习Liunx汇编语言
大家好! 我是来自山东师范大学的吴乐. 今天在<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ...
- 【C语言探索之旅】 第一部分第八课:第一个C语言小游戏
内容简介 1.课程大纲 2.第一部分第八课:第一个C语言小游戏 3.第一部分第九课预告: 函数 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写 ...
- Linux下简单C语言小程序的反汇编分析
韩洋原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 写在开始,本文为因为参加MOO ...
- C语言小程序——推箱子(窄字符和宽字符)
C语言小程序——推箱子(窄字符Version) 推箱子.c #include <stdio.h> #include <conio.h> #include <stdlib. ...
- 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 ...
- 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 ...
- 你想了解的《javaScript语言精粹》(三)
# javaScript语言精粹 # 第三章 对象 - javaScript 数据类型 1. 基础数据类型 Number String Boolean Undefined N ...
- 数据结构与算法分析——C语言描述 第三章的单链表
数据结构与算法分析--C语言描述 第三章的单链表 很基础的东西.走一遍流程.有人说学编程最简单最笨的方法就是把书上的代码敲一遍.这个我是头文件是照抄的..c源文件自己实现. list.h typede ...
- 狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(2)
前文链接:狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(1) 小甲鱼在很多情况下是跟着谭浩强鹦鹉学舌,所以谭浩强书中的很多错误他又重复了一次.这样,加上他自己的错误,错谬之处难以胜数. 由于拙 ...
随机推荐
- 泛微OA7.0下载7.1下载
找了很久才找到,顺便发出来给需要的朋友. http://pan.baidu.com/s/1dD8mSRf
- VC++ 截屏代码,并保存为想要的格式(BMP,JPG,PNG,GIF等格式)
void CCaptionScreenDlg::Screen(char* filename) { HDC hdcSrc = ::GetDC(NULL); int nBitPerPixel = GetD ...
- C语言 值传递和地址传递
不少同学在学到C语言的指针部分时感到很困惑,对经常提到的"值传递"和"地址传递"两个概念弄不 明白.实际上,因为地址本身也可以作为一个特殊的"值&qu ...
- 集合的概念 Stack和Queue Dictionary ArrayList和List<T>方法及用法
Stack和stack<T>方法一样// 管理方式: 后进先出 LIFO 栈// Stack<string> s=new Stack<string>();//(放一 ...
- EventBus 优化广播的传播
需要在onEventMainThread方法上,添加@Subscribe,程序才能执行. http://blog.csdn.net/harvic880925/article/details/40787 ...
- Python scipy.sparse矩阵使用方法
本文以csr_matrix为例来说明sparse矩阵的使用方法,其他类型的sparse矩阵可以参考https://docs.scipy.org/doc/scipy/reference/sparse.h ...
- Java数据类型转换
一.Date与String相互转换 1.Date转换成String SimpleDateFormat dd = new SimpleDateFormat("yyyy-MM-dd HH:mm& ...
- div赋值,取值和input赋值,取值
一.div取值 <div id="txtXiaofei" class="txt-panel">你好</div> 获取div的值$(&qu ...
- CSS浮动布局与菜单栏设计
公司周六停电,终于可以双休了.用周五空余时间再夯实一下css基础,<CSS权威指南>概念性的内容看起来容易犯困,不如实践来得快,动手操作吧. 一.浮动布局 浮动存在问题:浮动使元素脱离文档 ...
- 支付宝App支付签名和验签
代码: using CMS.Utility.ReturnResult; using OAuthWebAPI.Package; using Common; using System; using Sys ...