OJ#203.身高排序

news2025/2/22 0:18:31

题目描述

​ 海贼小学为了强健学生的身体,每天课间都要组织学生在户外学做广播体操。​ 这一天,五年级三班的所有同学在老师的指引下将队形排成了 M行 N 列。
现已知所有同学 的身高,数值为整数,单位:厘米。要求在所有同学中:

  1. 挑选出每列身高最高的同学作为此列的小队长为同学们带操;
  2. 将所有同学按身高从高到低的顺序进行排队;
  3. 求出所有同学们的平均身高(要求:四舍五入保留整数);
  4. 统计出不小于平均身高的学生人数,平均身高按照第 3问答案为准。
    请同学们用计算机编程的方法来解决以上问题。

输入

输入共有 m+1行:

第一行有:用 1 个空格隔开的两个整数M,N ,分别代表学生的行数和列数(其中 1≤M≤10,1≤N≤10);
后 m 行有:每一行对应的是 N 列数据,表示所有学生的身高尺寸,数值为整数,单 位:厘米(其中:140 170 厘米,不需判断此条件),
数据之间空 1 格。

输出

输出共有 n+3行:

前 n 行:每行一个数据为各列中身高最高的同学的高度 (要求:各列按从左到右的顺 序);
第 n+1行:为所有同学按身高从高到低的顺序排队的高度 (要求数据之间有1个空 格);
第 n+2行:只有一个数据为所有同学的平均身高 (要求:四舍五入,保留整数);
第 n+3行:只有一个数据,为不小于平均身高的学生人数。

样例输入1

3 4
141 161 156 167
170 163 168 157
162 145 153 163

样例输出1

170
163
168
167
170 168 167 163 163 162 161 157 156 153 145 141
159
7

代码

#include <stdio.h>
#define N 11

int stu[N][N] = {0};
void printfEveryColMaxHeight ( int m, int n) {
  for (int i = 0; i < n; i++) {
    int maxH = 0;
    for (int j = 0; j < m;j++) {
      if (maxH < stu[j][i]) maxH = stu[j][i];
    }
    printf("%d\n", maxH);
  }
}

void sortHeight (int m, int n) {
  int arr[105] = {0};
  int index = 0;
  int count = m * n;
  int highterNum = 0;
  float sum = 0.0;
  int avg = 0.0;
  for (int i = 0; i < m; i++) {
    for (int j = 0; j < n;j++) {
      arr[index++] = stu[i][j];
      sum += stu[i][j];
    }
  }
  // 四舍五入输出
  avg = (int)(sum / count + 0.5);
  for (int i = 0; i < count - 1; i++) {
    for (int j = i; j < count; j++) {
      if (arr[i] < arr[j]) {
        int t = arr[i];
        arr[i] = arr[j];
        arr[j] = t;
      }
    }
  }
  for (int i = 0; i <  count; i++) {
    if (arr[i] >= avg) highterNum++;
    i < count - 1 ? printf("%d ", arr[i]) : printf("%d", arr[i]);
  }
  printf("\n%d\n%d", avg, highterNum);
}
int main () {
  int m , n;
  scanf("%d%d", &m, &n);
  for (int i = 0; i < m; i++) {
    for (int j = 0; j < n;j++) {
      scanf("%d", &stu[i][j]);
    }
  }

  printfEveryColMaxHeight(m, n);
  sortHeight(m, n);
  return 0;
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/623574.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ansible从入门到精通【五】

大家好&#xff0c;我是早九晚十二&#xff0c;目前是做运维相关的工作。写博客是为了积累&#xff0c;希望大家一起进步&#xff01; 我的主页&#xff1a;早九晚十二 专栏名称&#xff1a;Ansible从入门到精通 立志成为ansible大佬 ansible-playbook企业级实战--handler hand…

爬虫基本的编码基础知识

爬虫的编码基础知识包括以下几个方面&#xff1a; 网络请求&#xff1a;使用Python中的requests库或urllib库发送HTTP请求&#xff0c;获取网页内容。 解析网页&#xff1a;使用Python中的BeautifulSoup库或lxml库解析HTML或XML格式的网页内容&#xff0c;提取所需的数据。 数…

如何开发视频上传和播放功能时,既省钱又体验好?

前言 现如今&#xff0c;大部分带内容的网站或应用都有视频区了&#xff0c;不说是大厂平台&#xff0c;就连个人开发者也相继在自己网站或小程序上迭代出视频板块。那既然有了视频模块&#xff0c;除个性化推荐&#xff0c;智能审核等这种费钱又耗时的功能外(个人开发者暂缓)。…

软件测试金融测试岗面试热点问题

1、网上银行转账是怎么测的&#xff0c;设计一下测试用例。 回答思路&#xff1a; 宏观上可以从质量模型&#xff08;万能公式&#xff09;来考虑&#xff0c;重点需要测试转账的功能、性能与安全性。设计测试用例可以使用场景法为主&#xff0c;先列出转账的基本流和备选流。…

Hive Code2报错排查

前言 大多数可能的code2报错一般是内存不够&#xff0c;所以加下面这个配置可以有效解决这个问题 set hive.auto.convert.join false; #取消小表加载至内存中 但这个不一定是因为内存不够&#xff0c;其实很多错误都是报这种官方错误的&#xff0c;所以一定要去yarn上看日志。…

如何解决vcruntime140.dll找不到的问题?两种方法教你解决

当你在运行某些应用程序或游戏时&#xff0c;可能会遇到一个错误提示&#xff0c;即“找不到vcruntime140.dll”文件。这是因为你的电脑中缺少了这个动态链接库文件&#xff0c;这个问题可能会导致你无法正常使用某些应用程序。在本文中&#xff0c;我们将介绍两种方法来解决 …

Vue3.0快速入门(速查)

Vue也是基于状态改变渲染页面&#xff0c;Vue相对于React要好上手一点。有两种使用Vue的方式&#xff0c;可以直接导入CDN&#xff0c;也可以直接使用CLI创建项目&#xff0c;我们先使用CDN导入&#xff0c;学一些Vue的基本概念。 <!-- 开发环境版本&#xff0c;包含了有帮…

泰克AFG31000系列任意波函数发生器应用

模拟电路检定 这是一个模拟世界。所有物理量均使用模拟信号捕获和表示。因此&#xff0c;需要检定放大器、滤波器和转换器等模拟电路的性能。 InstaView? 技术避免在阻抗不匹配的 DUT 上增加的波形不确定性频率范围为 25 MHz 至 250 MHz由于信号保真度高&#xff0c;无需使…

MySql基础笔记

数据库相关概念 ​ 名称全称简称数据库存储数据的仓库&#xff0c;数据是有组织的进行存储DataBase&#xff08;DB&#xff09;数据库管理系统操纵和管理数据库的大型软件DataBase Management System&#xff08;DBMS&#xff09;SQL操作关系型数据库的编程语言&#xff0c;定…

Java粮油MES系统源码(带可视化数据大屏)

▶ Java粮油MES系统实现一物一码&#xff0c;全程追溯 &#xff0c;正向追踪&#xff0c;逆向溯源&#xff0c;自主研发,有演示&#xff01; 一、粮油MES技术框架说明 开发语言&#xff1a;java 开发工具&#xff1a;idea或eclipse 前端框架&#xff1a;easyui 后端框架&…

横空出世!京东技术专家狂推的Redis笔记,实战和原理两开花

Redis 是互联网技术领域使用最为广泛的存储中间件&#xff0c;它是「Remote Dictionary Service」的首字母缩写&#xff0c;也就是「远程字典服务」。Redis 以其超高的性能、完美的文档、简洁易懂的源码和丰富的客户端库支持在开源中间件领域广受好评。国内外很多大型互联网公司…

【JavaSE】 封装

文章目录 一. 封装的概念二. 访问限定符三. 封装扩展之包1. 包的概念2. 导入包中的类3. 自定义包4. 包的访问权限控制举例5. 常见的包 四. static成员1. 简介2. static修饰成员变量3. static修饰成员方法 五. 代码块1. 代码块概念以及分类2. 普通代码块3. 构造代码块4. 静态代码…

chatgpt赋能python:Python可以实现两个数值的互换

Python可以实现两个数值的互换 Python是一种高效、易学且功能强大的编程语言&#xff0c;可以用于各种不同的编程目的&#xff0c;包括数据科学、网络编程、机器学习、人工智能等领域。其中&#xff0c;Python的一个最基本、最关键的操作就是对数值的处理&#xff0c;包括加减…

【SpringMVC】| SpringMVC的视图

目录 SpringMVC的视图 1. ThymeleafView 2. 转发视图 3. 重定向视图 4. 视图控制器view-controller SpringMVC的视图 &#xff08;1&#xff09;SpringMVC中的视图是View接口&#xff0c;视图的作用渲染数据&#xff0c;将模型Model中的数据展示给用户。 &#xff08;2&am…

Android单元测试(五):网络接口测试

温馨提示&#xff1a;如果你不太熟悉单元测试&#xff0c;可以先看下之前四篇基础框架使用。便于你更好的理解下面的内容。 在平日的开发中&#xff0c;我们用后台写好给我们接口去获取数据。虽然我们有一些请求接口的工具&#xff0c;可以快速的拿到返回数据。但是在一些异常情…

怎么用u盘制作pe系统启动盘

PE系统是一种小型的windows系统&#xff0c;通俗的说法也就是在电脑出现问题不能正常进入系统时的一种紧急备用系统。它容量小能量大&#xff0c;可以解决win系统中经常遇到的一些问题&#xff0c;对于经常使用电脑的用户来说&#xff0c;制作一个pe系统启动盘放在身边是很有必…

selenium python教程第1章

1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API&#xff0c;让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API&#xff0c;你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的AP…

【基于MATLAB的dijkstra算法】

基于MATLAB的dijkstra算法 %姓名&#xff1a;马伟 %日期&#xff1a;2023年6月七号 %作业&#xff1a;通信网理论&#xff0c;最小路径树D算法 function [distances, paths, tree] dijkstra(graph, startNode)numNodes size(graph, 1);distances inf(1, numNodes);visited …

网络安全怎么学?学习路线资料分享

一.自己对网络安全的理解 安全其实有很多个方向&#xff0c;从大的方面来说&#xff0c;也就是测试和开发。测试&#xff0c;细分下来&#xff0c;又有渗透&#xff08;也就是所谓的web&#xff09;&#xff0c;逆向&#xff08;也就是所谓的二进制&#xff0c;主要是代码审计方…

YUM报错No module named yum处理

一、问题描述 某次GreenPlum集群部署过程中&#xff0c;现场人员反馈&#xff0c;yum命令无法使用了&#xff0c;执行报错&#xff1a;No module named yum&#xff0c;如下所示&#xff1a; 相关资料&#xff1a;YUM 二、问题分析处理 2.1 YUM的本质 yum命令本质上是属于py…