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

我是歌手-C语言

“我是歌手”是成名歌手之间的比赛节目,2轮比赛中观众支持率最低者出局。

这里我们假设有n个歌手进行了m轮比赛,请求出局者(m轮总分最低者)。

输入n个歌手(编号依次为1,2,......n)m轮比赛的成绩,输出出局者(m轮总分b最低者)的编号。若有多个歌手的总分都是最低,则出局者是编号最小者

输入格式:

输入数据的第一行为一个正整数T(1<=T<=20)表示测试数据的组数。然后是T组测试数据,每组测试数据先输入两个正整数n,m(n,m<=10),然后是m行输入,每行按次序输入n个歌手在该轮的得分(均为非负整数)。

输出格式:

对于每组测试,在一行上输出出局者的编号。

输入样例:

1
3 2
91 92 93
98 95 94

输出样例:

 

#include<stdio.h>
#include<string.h>
#define MAXN 1005
int t, n, m, a[MAXN];//a[MAXN]表示每个歌手在m轮比赛中的总得分
int main()
{scanf("%d", &t);while (t--)
//每次循环表示对于一组数据的处理{memset(a, 0, sizeof a);
//初始化a数组为0,以保证累加歌手得分时不产生干扰scanf("%d%d", &n, &m);for (int i = 0; i < m; i++){
//第一重循环,枚举比赛的轮数for (int j = 0; j < n; j++){
//第二重循环,枚举歌手的分数int x;
//定义x表示每个歌手的当前比赛得分scanf("%d", &x);a[j] += x;
//累加每个歌手的总分}}int k = 0;
//定义变量k表示出局者的编号,以0号歌手为初始值for (int i = 1; i < n; i++)
//循环找出出局者{if (a[i] < a[k])k = i;}printf("%d\n", k + 1);}return 0;
}

使用一个数组来存储每个歌手的总分,然后扫描这个数组,找到总分最低的歌手,并输出编号即可。

  1. 首先定义一个数组a,用于存储每个歌手的总分;
  2. 初始化数组a,使用memset函数,把数组a的每一个元素都设为0;

memset 函数是 C 语言中的内存函数,功能是用一个指定的字符填充一段内存区域,也就是将一段内存区域的内容全部设置为一个字符。

 void *memset(void *s, int c, size_t n);

参数:

  • s:指向要填充的内存区域的指针
  • c:填充的字符
  • n:填充的内存区域的大小(单位:字节)

返回值:指向 s 的指针,也就是填充后的内存区域的首地址。 

  1. 循环读入m轮比赛的成绩,对于每轮的成绩,循环读入n个歌手的成绩,并把读入的每个歌手的成绩加到对应的数组a的元素上;
  2. 定义一个变量k,初始化为0;
  3. 循环扫描数组a,从第一个元素开始,如果a[i]比a[k]更小,则把k设为i;
  4. 最后输出k + 1,因为数组a是从0开始存储的,而歌手的编号是从1开始的。

 如果不使用memset函数,可以通过循环将数组中的每一项赋值为0。

例如:

for (int i = 0; i < n; i++) { a[i] = 0; }

这样就能达到将数组中的每一项赋值为0的目的,与memset函数的作用相同。

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

相关文章:

  • Acwing---112.雷达设备
  • SSJ-21A AC220V静态【时间继电器】
  • m序列发生器——Verilog设计
  • Mysql—触发器
  • DVWA靶场通关和源码分析
  • RocketMQ5.0.0消息存储<二>_消息存储流程
  • 【单片机方案】蓝牙体温计方案介绍
  • React 的受控组件和非受控组件有什么不同
  • 【逐步剖C】-第六章-结构体初阶
  • Java 并发在项目中的使用场景
  • 15.面向对象程序设计
  • Element UI框架学习篇(一)
  • 【算法】【C语言】
  • 【✨十五天搞定电工基础】基本放大电路
  • MyBatis 入门教程详解
  • shiro、springboot、vue、elementUI CDN模式前后端分离的权限管理demo 附源码
  • 智能优化算法——粒子群优化算法(PSO)(小白也能看懂)
  • Lesson 6.4 逻辑回归手动调参实验
  • Oracle数据库入门大全
  • C语言操作符详解(下)
  • 【五六七人口普查】我国省市两级家庭户住房状况
  • 大数据框架之Hadoop:入门(二)从Hadoop框架讨论大数据生态
  • 负载均衡反向代理下的webshell上传+apache漏洞
  • 打造安全可信的通信服务,阿里云云通信发布《短信服务安全白皮书》
  • Python项目实战——外汇牌价(附源码)
  • String、StringBuffer、StringBuilder有什么区别?
  • python基于django+vue的高铁地铁火车订票管理系统
  • 全栈自动化测试技术笔记(一):前期调研怎么做
  • 专家培养计划
  • 583. 两个字符串的删除操作 72. 编辑距离