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

OJ刷题小结

1.1题目

1.2代码

#include <stdio.h> #include <string.h> int add(int a, int b) { return a + b; } int main() { int n; scanf("%d", &n); getchar(); char input[20]; for (int i = 0; i < n; i++) { fgets(input, sizeof(input), stdin); int a, b; sscanf(input, "add(%d,%d)", &a, &b); printf("%d\n", add(a, b)); } return 0; }

1.3思路

1. 加法函数 add :接收两个整型参数,返回它们的和,符合题目对 add(a,b)=a+b 的定义。
​2. 输入处理:
​先读取组数 n ,再用 getchar() 吸收换行符,防止 fgets 读取到空行。
​用 fgets 逐行读取 add(a,b) 格式的字符串,避免 scanf 处理带括号/逗号的字符串时出现问题。
​3. 字符串解析:通过 sscanf 按 "add(%d,%d)" 的格式提取 a 和 b 的数值。
​4. 输出结果:调用 add 函数计算后,逐行输出结果。

2.1题目

2.2代码

#include <stdio.h> #define MAX_N 100 void bubble_sort(int arr[], int len) { for (int i = 0; i < len - 1; i++) { for (int j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } } int main() { int N; int nums[MAX_N]; int unique_nums[MAX_N]; int unique_count = 0; scanf("%d", &N); for (int i = 0; i < N; i++) { scanf("%d", &nums[i]); } for (int i = 0; i < N; i++) { int is_duplicate = 0; for (int j = 0; j < unique_count; j++) { if (nums[i] == unique_nums[j]) { is_duplicate = 1; break; } } if (!is_duplicate) { unique_nums[unique_count++] = nums[i]; } } bubble_sort(unique_nums, unique_count); printf("%d\n", unique_count); for (int i = 0; i < unique_count; i++) { printf("%d", unique_nums[i]); if (i != unique_count - 1) { printf(" "); } } printf("\n"); return 0; }

2.3思路

1. 数据存储:用 nums 数组存储原始输入, unique_nums 数组存储去重后的结果, unique_count 记录去重后的元素个数。
​2. 去重逻辑:遍历原始数组,逐个检查元素是否已存在于去重数组中,不存在则加入,实现去重。
​3. 排序实现:使用冒泡排序对去重后的数组升序排列,逻辑简单且适配题目数据量(N≤100)。
​4. 输出格式:先输出去重后的数量,再输出排序后的数字,数字间用空格分隔,最后一个数字后无多余空格。

http://www.jsqmd.com/news/73578/

相关文章:

  • 铁轨缺陷检测数据集介绍及使用说明
  • 人工智能深度学习实战:手写数字识别指南
  • ISO图接点显示分区号
  • 杨建允:AI搜索正在重塑服装定制行业的流量入口的消费决策!
  • IP地址分类管理
  • Hadoop-动态刷新hdfs/yarn配置
  • BetterGI深度评测:原神自动化工具的效率革命实战体验
  • Bili2text:重新定义视频内容处理效率
  • 基于DP动态规划的混合动力汽车P2构型探索
  • 搞单片机的简单吗?
  • MoE架构加持的Wan2.2-T2V-A14B,如何提升动态细节表现力?
  • 探索Qt下的UI皮肤生成器:多风格与编译那些事儿
  • 程序员的职业多样化与发展路径
  • 仅半年,半月回本的幻梦破灭,机器人的泡沫破灭得如此之快!
  • 如何选择技术博客平台并搭建属于你的知识库
  • 题目:二叉树的遍历
  • 基于CANoe的CAPL语言打造UDS Bootloader刷写上位机程序
  • 【OD刷题笔记】- 分糖果
  • 闲鱼自动化终极解决方案:5分钟实现高效运营管理
  • MySQL表的约束
  • 编程范式悄然转舵:从“规则编织”到“模型生长”​
  • 仅限资深开发者:C#编写高性能数字孪生渲染引擎的10个核心秘诀
  • 如何为个人网站选择一个高性价比域名?
  • 【R Shiny多模态可视化实战】:掌握高效整合文本、图像与数据的三大核心技巧
  • DPJ-126 基于STC89C52的酒驾检测系统设计(源代码+proteus仿真)
  • 为什么顶级团队都在用Dify集成Spring AI?揭秘背后的架构优势
  • OTOFIX D1 PRO 1-Year Online Update Subscription: Keep European/American Car Repairs Up-to-Date
  • 从 “手动搬砖“ 到 “自动施法“:界面开发的三次 “渡劫“ 升级记
  • 从零到一构建量子计算环境,Docker镜像制作全流程详解
  • 基于Springboot线上装修管理系统【附源码+文档】