当前位置: 首页 > news >正文

完成程序《大奖赛评分B》

学习目标:

  • 使用代码完成程序《大奖赛评分B》

题目:

  • 如今许多歌手大奖赛评分时,为了体现公平,在评委给出分数后统计平均得分时,都会去掉最高分和最低分。
  • 编写程序,读入评委打分(分数都是大于0的整数,评委人数大于等于5,小于等于50),去掉两个最高分和两个最低分,计算并输出平均得分(小数点后保留两位有效数字)。

逻辑:

  • 由题意得:此程序要求能够找到一个数组中的两个最大值和两个最小值,因此要对数组进行排序,用循环分支语句进行判断。
  • 其次要去统计平均得分,说明分数要是浮点类型。
  • 最后关注到要保留两位小数,按要求打印即可。

代码:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<stdlib.h>void print_arr(int arr[],int num)
{for (int j = 0; j < num; j++){printf("%d ", arr[j]);}printf("\n");
}int cmp_int(const void* e1, const void* e2)
{return *(int*)e1 - *(int*)e2;
}int main()
{char str[200] = { 0 };int arr[50] = { 0 };float num = 0;int sum = 0;gets(str);int i, j = 0, k = 0;for (i = 0; str[i] != '-'; i++) {if (str[i] >= '0' && str[i] <= '9') {arr[j] = arr[j] * 10 + (str[i] - '0');}else if (str[i] == ' ' && k < 50) {j++;k++;}}qsort(arr, 50, sizeof(int), cmp_int);int u = 0;for (int j = 0; j < 50; j++){if (arr[j] != 0){if (u > 1 && j < 48){sum += arr[j];num++;}u++;}}float average = (float)sum / num;printf("%.2f\n", average);return 0;
}

http://www.lryc.cn/news/478556.html

相关文章:

  • K8S篇(基本介绍)
  • linux alsa-lib snd_pcm_open函数源码分析(三)
  • 基于ssm的个人健康管理系统
  • Debian下载ISO镜像的方法
  • 大厂面试真题-简单说说线程池接到新任务之后的操作流程
  • 「Mac畅玩鸿蒙与硬件23」鸿蒙UI组件篇13 - 自定义组件的创建与使用
  • C++关键字:mutable
  • Agent 智能体开发框架选型指南
  • 基于Zynq FPGA对雷龙SD NAND的测试
  • AOSP沙盒android 11
  • 【JWT】Asp.Net Core中JWT刷新Token解决方案
  • AJ-Report:一款开源且非常强大的数据可视化大屏和报表工具
  • stm32不小心把SWD和JTAG都给关了,程序下载不进去,怎么办?
  • 【UE5】在材质中实现球形法线技术,常用于改善植物等表面的渲染效果
  • 【MATLAB源码-第210期】基于matlab的OFDM电力线系统仿真,不同梳状导频间隔对比。三种信道估计,三种插值误码率对比
  • 基于SpringBoot的城镇保障性住房管理策略
  • 支持高性能结构化数据提取的 Embedding 模型——NuExtract-v1.5
  • 【C#】设计一个选购计算机配置的应用程序
  • solo博客源码使用idea编译运行
  • VBA07-方法
  • spring boot 统一异常处理
  • 跟着小土堆学习pytorch(六)——神经网络的基本骨架(nn.model)
  • 数字化落地过程中的研发效能治理如何开展?
  • Windows安装配置node.js
  • Javaweb梳理9——JDBC
  • 逆向CTF入门(如何找main)
  • c语言归并排序
  • 碳化硅陶瓷膜的特性
  • 机器学习(三)——决策树(附核心思想、重要算法、概念(信息熵、基尼指数、剪枝处理)及Python源码)
  • 良心无广,这五款电脑软件堪称必备,最后一个比快播都猛