news 2026/4/30 12:45:36

OJ刷题小结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
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. 输出格式:先输出去重后的数量,再输出排序后的数字,数字间用空格分隔,最后一个数字后无多余空格。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/27 12:43:13

ISO图接点显示分区号

有同事提出要求&#xff1a;同一根管道&#xff0c;跨几个区布置&#xff0c;怎么样把接点的区号显示出来&#xff0c;起初想的是用WBS方式&#xff0c;将管道分开放置&#xff0c;又太麻烦了&#xff0c;所以通过ISO定制实现。和接点相关的定制是LabelMapping里 END-Connectio…

作者头像 李华
网站建设 2026/4/25 15:44:28

解决力扣第26题,论删除重复项

class Solution { public:int removeDuplicates(vector<int>& nums){if(nums.empty())return 0;int slow0;for(int fast1;fast<nums.size();fast ){if(nums[fast-1]!nums[fast]){slow;nums[slow]nums[fast];}//0,1,2,1,1,2,2}return slow1; } }; 主要是应用了数组…

作者头像 李华
网站建设 2026/4/18 9:10:04

数字化是什么?数字化能给企业带来什么价值?

我们常听的几个词&#xff1a;“数字化&#xff0c;信息化&#xff0c;智能化”其实是三个层级的概念&#xff1a;信息化&#xff1a;把纸上的信息变成电子的。比如用Excel记账&#xff0c;用邮箱发合同&#xff0c;用钉钉发通知&#xff0c;这就是信息化。数字化&#xff1a;信…

作者头像 李华
网站建设 2026/4/18 9:16:27

单相光伏并网逆变器的Matlab仿真探索

单相光伏并网逆变器 光伏发电 MPPT 扰动观察法 spwm matlab 仿真 1&#xff09;采用两级架构&#xff0c;前级为boost升压电路&#xff0c;后级为H4/全桥逆变电路&#xff1b; 2&#xff09;采用【PO扰动观察法】mppt算法&#xff0c;可以较好地跟踪光照强度突变&#xff0c;实…

作者头像 李华
网站建设 2026/4/27 18:18:45

iOS微信抢红包插件2025:智能助手使用全攻略

还在为错过微信群里的红包而烦恼吗&#xff1f;2025年最新推出的iOS微信抢红包插件&#xff0c;让你的设备自动帮你抢红包&#xff0c;从此告别手动点击的尴尬。这款智能插件采用先进的识别技术&#xff0c;完美模拟真实用户操作&#xff0c;在保证安全性的同时大幅提升抢红包效…

作者头像 李华