16. 《C语言》——【牛客网BC124 —— BC130题目讲解】

在这里插入图片描述


亲爱的读者,大家好!我是一名正在学习编程的高校生。在这个博客里,我将和大家一起探讨编程技巧、分享实用工具,并交流学习心得。希望通过我的博客,你能学到有用的知识,提高自己的技能,成为一名优秀的程序员。如果你有任何疑问或建议,请随时在评论区留言,让我们一起成长进步!现在,让我们开始这场知识之旅吧!
在这里插入图片描述



🌏个人主页: FEN03
📑收入专栏: C语言

在这里插入图片描述



文章目录

  • 📚前言
  • 🐄牛客网题目
    • 🥩BC124 序列中删除指定数字
    • 🥩BC125 序列中整数去重
    • 🥩BC126 小乐乐查找数字
    • 🥩BC127 筛选法求素数
    • 🥩BC128 班级成绩输入输出
    • 🥩BC129 矩阵元素定位
    • 🥩BC130 最高身高
  • 👋👋🏻👋🏼结束语


📚前言

本章主要内容为,讲解牛客网BC124 ~ BC130题目,如有错误❌,还请指出,本人会虚心接受,感谢~🌹


🐄牛客网题目

🥩BC124 序列中删除指定数字


题目要求:

描述
有一个整数序列(可能有重复的整数),现删除指定的某一个整数,输出删除指定数字之后的序列,序列中未被删除数字的前后位置没有发生改变。

数据范围:序列长度和序列中的值都满足 1≤n≤50

输入描述:
第一行输入一个整数(0≤N≤50)。
第二行输入N个整数,输入用空格分隔的N个整数。
第三行输入想要进行删除的一个整数。

输出描述:
输出为一行,删除指定数字之后的序列。

示例1

在这里插入图片描述


⬇️⬇️⬇️讲解:

代码如下:

//BC124 序列中删除指定数字
#include<stdio.h>
void S_arr(int arr[], int n)
{//对数组,输入值for (int i = 0; i < n; i++){scanf("%d", &arr[i]);}
}void Print_arr(int arr[], int n, int k)
{//对数组进行遍历,如果不等于k,就打印for (int i = 0; i < n; i++){if (arr[i] != k){printf("%d ", arr[i]); }}
}int main()
{int n = 0; int arr[100] = { 0 };int k = 0;scanf("%d", &n); S_arr(arr, n); //输入数组scanf("%d", &k); Print_arr(arr, n, k); //判断数组并且打印return 0; 
}

运行结果…

在这里插入图片描述

🤔🤔分析:

  1. 按照题目要求, 第一行需要输入一个整数, 则可以创建一个整型变量; 第二行输入N个整数, 输入用空格分隔, 我们可以创建一个arr整型数组, 把N个整数存放在arr里; 第三行是输入要删除的一个整数, 我们直接创建一个整型变量即可。
  2. 为了完成这一题, 我们可以分为2个函数即可。
  3. S_arr(arr, n); 实现的是遍历数组,对数组输入值。
  4. Print_arr(arr, n, k); 完成的是在数组中查找要删除的值,只要不等于删除值的都打印出来。

🥩BC125 序列中整数去重


题目要求:

描述
输入n个整数的序列,要求对这个序列进行去重操作。所谓去重,是指对这个序列中每个重复出现的整数,只保留该数第一次出现的位置,删除其余位置。

输入描述:
输入包含两行,第一行包含一个正整数n(1 ≤ n ≤ 1000),表示第二行序列中数字的个数;第二行包含n个整数(范围1~5000),用空格分隔。

输出描述:
输出为一行,按照输入的顺序输出去重之后的数字,用空格分隔。

示例1

在这里插入图片描述


⬇️⬇️⬇️讲解:

代码如下:


//BC125 序列中整数去重 
#include<stdio.h>
void Input_arr(int arr[], int n)
{for (int i = 0; i < n; i++){scanf("%d", &arr[i]); }
}void Jud_arr(int arr[], int n)
{int flag = 0; for (int i = 0; i < n; i++){//比较除了本身外其他的元素。for (int j = i+1; j < n; j++){if (arr[i] == arr[j]){arr[j] = -1;}}}
}void Print(int arr[], int n)
{for (int i = 0; i < n; i++){if (arr[i] != -1) {printf("%d ", arr[i]);  } }
}int main()
{int n = 0; int arr[1500] = { 0 }; scanf("%d", &n);Input_arr(arr, n); //数组输入Jud_arr(arr, n);   //对数组元素判断Print(arr, n);	   //打印数组元素return 0; 
}

运行结果…

在这里插入图片描述

🤔🤔分析:

  1. 在题目要求中,输入包含2行,第一行是输入一个正整数那么我们可以直接创建一个整型变量,第二行是包含着n个整数, 那么我们需要创建一个arr整型数组来接收;
    输出为去除重复值之后,数组的元素。
  2. 为了完成, 我们分装为3个函数。
  3. Input_arr(arr, n); 完成的是遍历数组,给数组输入值。
  4. Jud_arr(arr, n); 完成的是每一个数组元素,除了自身外,与其他元素进行比较, 如果2个元素相等,那么把该元素设置为-1。
  5. Print(arr, n); 完成的是对去除掉重复值后,数组元素的打印。

🥩BC126 小乐乐查找数字


题目要求:

描述
给定n个整数和一个整数x,小乐乐想从n个整数中判断x出现几次,请编程帮他实现。

输入描述:
共3行
第一行,一个整数,表示n(1 <= n <= 100)。
第二行,共输入n个整数,两个整数之间用空格分隔。
第三行,输入一个整数,表示要查找的整数x。

输出描述:
一行,表示整数x出现的次数。

示例1

在这里插入图片描述


⬇️⬇️⬇️讲解:

代码如下:


//BC126 小乐乐查找数字 
#include<stdio.h>
void Input_arr(int arr[], int n)
{for (int i = 0; i < n; i++){scanf("%d", &arr[i]); }
}void Jud_arr(int arr[], int n, int k)
{int count = 0;//创建一个计数器 for (int i = 0; i < n; i++){//遍历arr中的元素,如果元素与k相等,计数器++if (arr[i] == k)count++; }printf("%d\n", count);  
}int main() 
{int n = 0;int arr[1000] = { 0 };int k = 0; scanf("%d", &n); Input_arr(arr, n); //输入数组 scanf("%d", &k); Jud_arr(arr, n, k); //判断数组中的元素return 0; 
}

运行结果…

在这里插入图片描述

🤔🤔🤔分析:

  1. 题目要求, 输入3行,第一行输入一个整数, 我们可以创建一个整型变量; 第二行一共输入n个整数, 那么为了存储n个整数,我们可以创建一个arr整型数组; 第三行输入一个要查找的整型值,我们可以创建一个整型变量。
  2. 为了解决该题,我们可以分装成2个函数。
  3. Input_arr(arr, n); 该函数完成的是遍历数组,给数组输入值。
  4. Jud_arr(arr, n, k); 该函数完成的是在数组元素中, 对与查找值相同的元素进行统计,最终输出即可。

🥩BC127 筛选法求素数


题目要求:

描述
用筛选法求n以内的素数。筛选法求解过程为:将2~n之间的正整数放在数组内存储,将数组中2之后的所有能被2整除的数清0,再将3之后的所有能被3整除的数清0 ,以此类推,直到n为止。数组中不为0 的数即为素数。

输入描述:
多组输入,每行输入一个正整数(不大于100)。

输出描述:
针对每行输入的整数n,输出两行,第一行,输出n之内(包括n)的素数,用空格分隔,

第二行,输出数组中2之后被清0 的个数。每行输出后换行。

示例1

在这里插入图片描述


⬇️⬇️⬇️讲解:


//BC127 筛选法求素数
#include<stdio.h>
int main() 
{int n = 0;int count = 0; while (scanf("%d", &n) != EOF){int i = 0; for (i = 2; i < n; i++){int j = 0; for (j = 2; j < i; j++) {if (i % j == 0)break; }if (i == j){printf("%d ", i); count++; //统计素数}}printf("\n"); printf("%d\n", n - count - 1);  }return 0; 
}

运行结果…

在这里插入图片描述

🤔🤔分析:

  1. 给定一个数n,在2~n之间的正整数,如果是素数,就统计起来并且打印出来,然后用n - 统计值 - 1,输出统计值即可。

🥩BC128 班级成绩输入输出


题目要求:

描述
输入一个班级5个学生各5科成绩,输出5个学生各5科成绩及总分。

输入描述:
五行,每行输入一个学生各5科成绩(浮点数表示,范围0.0~100.0),用空格分隔。

输出描述:
五行,按照输入顺序每行输出一个学生的5科成绩及总分(小数点保留1位),用空格分隔。

示例1

在这里插入图片描述


⬇️⬇️⬇️讲解:

代码如下:

//BC128 班级成绩输入输出 
#include<stdio.h>
int main()
{double arr[5][5] = { 0 };for (int i = 0; i < 5; i++){for (int j = 0; j < 5; j++){scanf("%lf", &arr[i][j]); }}for (int i = 0; i < 5; i++){double sum = 0.0;for (int j = 0; j < 5; j++) {printf("%.1lf ", arr[i][j]);   sum += arr[i][j];    }printf("%.1lf\n", sum);   }return 0; 
}

运行结果…

在这里插入图片描述

🤔🤔🤔分析:

  1. 题目最终考察的就是二维数组的输入和输出,以及如何限制小数点位。
  2. 我们主要看输出,每输出一行,都会把总分给输出,那么需要一个变量sum来统计这一行的总分。当到了下一行sum的总值会初始化为0,最终不断的重复,直到循环结束。
  3. 在%后加一个小数点,就可以控制小数位的输出。

🥩BC129 矩阵元素定位


题目要求:

描述
KiKi得到了一个n行m列的矩阵,现在他想知道第x行第y列的值是多少,请你帮助他完成这个任务。

数据范围:1≤n,m≤5 ,矩阵中的值满足 1≤val≤25

输入描述:
第一行包含两个数n和m,表示这个矩阵包含n行m列。从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示矩阵中的元素。接下来一行输入x和y,用空格分隔,表示KiKi想得到的元素的位置。(1≤x≤n≤10,1≤y≤m≤10)

输出描述:
一行,输出一个整数值,为KiKi想知道的值。

示例1

在这里插入图片描述


⬇️⬇️⬇️讲解:

#include<stdio.h>
void Input_arr(int arr[][100], int n, int m)
{for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){scanf("%d", &arr[i][j]);}}
}int main()
{int n = 0;int m = 0;int x = 0;int y = 0;int arr[100][100] = { 0 };scanf("%d %d", &n, &m);Input_arr(arr, n, m);scanf("%d %d", &x, &y);printf("%d\n", arr[x - 1][y - 1]);return 0;
}

运行结果…

在这里插入图片描述

🤔🤔分析:

  1. 这个题目其实就是在一个二维数组中,输入要找的值对应的下标-1,最终打印出该值即可。

🥩BC130 最高身高


题目要求:

描述
KiKi想从n行m列的方阵队列中找到身高最高的人的位置,请你帮助他完成这个任务。

输入描述:
第一行包含两个整数n和m,表示这个方阵队列包含n行m列。从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示方阵中的所有人的身高(保证输入身高都不相同)。(1≤x≤n≤10,1≤y≤m≤10)

输出描述:
一行,输出两个整数,用空格分隔,表示方阵中身高最高的人所在的行号和列号。

示例1

在这里插入图片描述


⬇️⬇️⬇️讲解:

代码如下:


//BC130 最高身高 
#include<stdio.h>
void Input_arr(int arr[100][100], int n, int m)
{for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){scanf("%d", &arr[i][j]);}}
}void Find_height_arr(int arr[100][100], int n, int m)
{int h = arr[0][0];for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){if (arr[i][j] > h){h = arr[i][j];}}}for (int i = 0; i < n; i++){for (int j = 0; j < m; j++){if (arr[i][j] == h){printf("%d %d\n", i + 1, j + 1);}}}
}int main()
{int n = 0;int m = 0;int arr[100][100] = { 0 };scanf("%d %d", &n, &m);Input_arr(arr, n, m);Find_height_arr(arr, n, m);return 0;
}

运行结果…

在这里插入图片描述

🤔🤔分析:

  1. 创建2个整型变量,是用来控制二维数组的行和列的。随后,Input_arr(arr, n, m); 完成的是对二维数组输入值 。
  2. Find_height_arr(arr, n, m); 完成的是对二维数组中元素的比较,也就是用打擂台方法,最终最大值给h,随后遍历二维数组中的元素如果等与h就打印出来,并且对应的下标需要+1。

👋👋🏻👋🏼结束语

非常感谢您花时间阅读我的博客,希望我的分享能为您带来收获。如果您对本文有任何想法或疑问,欢迎在评论区留言交流。如果您喜欢我的博客,请继续关注,我会定期更新更多精彩内容。最后,别忘了行动起来的力量,让我们一起实践这些方法,见证自己的成长和进步!

再见,祝您生活愉快!

在这里插入图片描述


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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

46【Aseprite 作图】发光

1 通过“编辑 - 特效 - 卷积矩阵”&#xff0c;这次选择“7*7”&#xff0c;可以做出窗户的效果

【CS.SE】2024年,你应该选择计算机专业吗?详细分析与未来展望

文章目录 1. 引言1.1 背景介绍 2. 计算机相关专业的现状与挑战2. 计算机相关专业的现状与挑战2.1 行业内的就业趋势2.1.1 现有就业数据2.1.2 行业需求变化 2.2 市场饱和度与竞争2.2.1 毕业生数量增长2.2.2 薪资与职业发展 2.3 技术创新与行业发展2.3.1 新兴技术的发展2.3.2 全球…

惊艳的短视频:成都科成博通文化传媒公司

惊艳的短视频&#xff1a;瞬间之美&#xff0c;震撼心灵 在数字化时代&#xff0c;短视频以其短小精悍、内容丰富的特点&#xff0c;迅速占领了我们的屏幕和时间。而在这个浩如烟海的视频海洋中&#xff0c;总有一些短视频能够脱颖而出&#xff0c;以其惊艳的视觉效果、深刻的…

2024年,计算机相关专业还值得选择吗? 又该如何判断自己是否适合这类专业呢?

文章目录 一、2024年,计算机相关专业还值得选择吗?二、判断自己是否适合这类专业呢&#xff1f;三、哪所大学的计算机专业最好&#xff1f;四、计算机专业是否仍具有长远的发展潜力和就业前景呢? 一、2024年,计算机相关专业还值得选择吗? 在2024年选择大学专业时&#xff0…

视频监控管理平台LntonCVS视频汇聚平台充电桩视频监控应用方案

随着新能源汽车的广泛使用&#xff0c;公众对充电设施的安全性和可靠性日益重视。为了提高充电桩的安全管理和站点运营效率&#xff0c;LntonCVS公司推出了一套全面的新能源汽车充电桩视频监控与管理解决方案。 该方案通过安装高分辨率摄像头&#xff0c;对充电桩及其周边区域进…

银河麒麟操作系统通过首批软件供应链安全能力认证

麒麟软件产品供应链安全能力获双重肯定&#xff01;5月30日&#xff0c;经北京赛迪认证中心评估&#xff0c;银河麒麟高级服务器操作系统V10和银河麒麟桌面操作系统V10成为首批获得软件供应链安全能力认证产品&#xff0c;并在操作系统类产品中名列前茅。 软件供应链安全能力评…

Navicat for MySQL 11软件下载及安装教程

软件简介&#xff1a; Navicat for SQL Server 是一套专为 SQL Server设计的全面的图形化数据库管理及开发工具&#xff0c;可进行创建、编辑和删除全部数据库对象&#xff0c;例如表、视图、函数、索引和触发器&#xff0c;或运行 SQL查询和脚本&#xff0c;查看或编辑 BLOBs…

观察 jvm 运行时数据区内存大小(native memory tracking)

jvm 运行时数据区 jvm 运行时数据区包括且不限于以下几个部分: 堆(heap): 用于存储对象实例和数组。堆内存的分配和释放由垃圾回收器进行管理。方法区(method area): 用于存储类的信息、静态变量、常量等。jdk 8 后方法区位于 metaspace。虚拟机栈(vm stack): 用于存储方法的…

汇聚荣科技有限公司实力如何?

汇聚荣科技有限公司实力如何?在科技日新月异的今天&#xff0c;一个公司的实力往往体现在其技术创新能力、市场占有率、团队专业度、客户满意度以及财务健康状况等多个维度。针对“汇聚荣科技有限公司”这一话题&#xff0c;我们将从这五个方面进行深入探讨。 一、技术创新能力…

Android Studio gradle下载失败

Android Studio下载Gradle插件总是出现网络超时问题。 解决办法&#xff1a; 替换为国内版本的镜像。 推荐使用国内腾讯的镜像&#xff1a; Index of /gradle/ 例如&#xff1a;gradle-8.0镜像&#xff1a; https://mirrors.cloud.tencent.com/gradle/gradle-8.0-bin.zip…

实验六、IPv4 地址的子网划分,第 2 部分《计算机网络》

你有没有发现&#xff0c;困的时候真的清醒不了。 目录 一、实验目的 二、实验内容 三、实验小结 一、实验目的 完成本练习之后&#xff0c;您应该能够确定给定 IP 地址和子网掩码的子网信息。 知道 IP 地址、网络掩码和子网掩码后&#xff0c;您应该能够确定有关该 IP 地…

Python报表需求处理示例

单一文件下&#xff0c;相关主题的共128张字段结构相似的表&#xff0c;对一种需求用Excel手工编辑相当麻烦&#xff0c;下面介绍一种python做自动化报表示例及代码流程。 每张表均有相同的字段结构&#xff0c;因此可对该文件下所有表格同时操作&#xff0c;大大提高了计算效率…

ARM32开发--PWM通道输出

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 文章目录 前言 内容 需求 通用定时器多通道 开发流程 多通道配置 占空比更新 完整代码 高级定时器通道输出 开发流程 通道配置 Break配置 完整代码 总结 前言 加强掌握…

2024年,计算机相关专业还值得选择吗?

2024年计算机相关专业依然非常值得选择&#xff0c;根据现有信息&#xff0c;计算机科学与技术、软件工程、信息安全、人工智能等专业在就业市场上保持着高度的热度和良好的前景。 就业率高&#xff1a;计算机专业毕业生的就业率持续保持高位&#xff0c;特别是在软件开发、系…

文案策划无门槛?文案策划职位入门全攻略

对于刚毕业的大学生来说&#xff0c;文案策划可以说是门槛最低的工作&#xff0c;仅次于前台。 绝大部分文案在进入广告公司之前不知道文案是干什么工作&#xff0c;早期会写点高考作文都不让写的诗歌就能入行。 没有文案专业&#xff0c;没有文案科班&#xff0c;最接近的三…

2024年山西水处理技术设备展览会11月8日召开

2024中国&#xff08;山西&#xff09;国际水务科技博览会 暨水处理技术设备与泵管阀展览会 时间&#xff1a;2024年11月8-10日 地点&#xff1a;山西潇河国际会展中心 推动城镇水务工作高质量发展&#xff0c;围绕解决水生态、水安全、水体黑臭、内涝积水等人民群众最关…

vivado HW_SIO_GT

描述 Xilinx的可定制LogiCORE™IP集成误码率测试仪&#xff08;IBERT&#xff09;核心 FPGA是为评估和监控千兆收发器&#xff08;GTs&#xff09;而设计的。IBERT core支持系统内串行I/O验证和调试&#xff0c;使您能够进行测量和优化 您的设计中的高速串行I/O链路。参考综合误…

[2024-06]-[大模型]-[Ollama] 0-相关命令

常用的ollama命令[持续更新中] ollama更新&#xff1a; curl https://ollama.ai/install.sh |sh带着flash attention启动&#xff1a; OLLAMA_FLASH_ATTENTION1 ollama serve停止ollama服务&#xff1a; sudo systemctl stop ollama note&#xff1a;目前遇到sudo systemctl …

No module named _sqlite3解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

微服务Day7学习-数据聚合、同步、补全

文章目录 数据聚合聚合分类 自动补全DSL实现Bucket聚合DSL实现Metrics聚合RestAPI实现聚合多条件聚合对接前端接口拼音分词器自定义分词器自动补全查询实现酒店搜索框自动补全 数据同步数据同步思路分析利用mq实现mysql与elasticsearch数据同步 集群介绍搭建ES集群 数据聚合 聚…