news 2026/9/2 22:45:48

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/9/2 8:15:10

MySQL表的约束

1. 空属性两个值&#xff1a;null(默认的&#xff09;和 not null(不为空)数据为空没法参与运算not null则是插入时不能插入nullmysql> select 1null; -------- | 1null | -------- | NULL | --------案例&#xff1a;mysql> create table myclass(-> class_name va…

作者头像 李华
网站建设 2026/9/2 13:22:21

IP地址分类管理

IP地址分类管理 文章目录 IP地址分类管理一、前言二、IP地址2.1 为什么要有IP地址2.2 IP地址的意义已经如何表示其意义2.2.1 意义2.2.2 IP地址构成2.2.3 版本 2.3 如何表示IP地址2.3.1 定义2.3.2 计算2.3.3 表示 三、小结 一、前言 本篇将迎来学习计网以来&#xff0c;最大的难…

作者头像 李华
网站建设 2026/9/2 22:38:27

Windows右键菜单大扫除:从杂乱无章到高效简洁的完整改造方案

Windows右键菜单大扫除&#xff1a;从杂乱无章到高效简洁的完整改造方案 【免费下载链接】ContextMenuManager &#x1f5b1;️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 每天面对杂乱无章的右键菜单&#xff0c…

作者头像 李华
网站建设 2026/9/3 2:34:53

如何为个人网站选择一个高性价比域名?

1. 善用“新顶级域” (New gTLDs)这是目前获得短域名和个性化域名最便宜的方式。- 传统后缀 (.com, .cn)&#xff1a; 短域名几乎被注册殆尽&#xff0c;或者价格极高&#xff08;数千甚至数万元&#xff09;。 - 新后缀 (.io, .me, .xyz, .top, .cc, .pw)&#xff1a; 价格非常…

作者头像 李华
网站建设 2026/9/2 22:47:17

Adobe官方卸载工具下载安装保姆级教程(附下载地址,非常详细)

Adobe Creative Cloud Cleaner Tool&#xff0c;中文常被简称为“Adobe官方卸载工具”&#xff0c;它并不是用来修图、剪片或做特效的新软件&#xff0c;而是 Adobe 自己放出的“清洁工”。 当Photoshop、Premiere、Illustrator等软件反复装不上、卸不掉&#xff0c;或老版本残…

作者头像 李华
网站建设 2026/9/1 20:36:53

shell笔记

shell笔记 shell shell在线工具[https://www.runoob.com/try/showbash.php?filenamehelloworld] Shell 是一个用 C 语言编写的程序&#xff0c;它是用户使用 Linux 的桥梁。Shell 既是一种命令语言&#xff0c;又是一种程序设计语言。 Shell 是指一种应用程序&#xff0c;…

作者头像 李华