C语言每日一练——day_12(最后一天)

引言

        针对初学者,每日练习几个题,快速上手C语言。第十二天。(最后一天,完结散花啦

        采用在线OJ的形式

什么是在线OJ?

        在线判题系统(英语:Online Judge,缩写OJ)是一种在编程竞赛中用来测试参赛程序的在线系统,也可以用于平时的练习。

        详细内容可以看一下这篇博客:关于C/C++语言的初学者在哪刷题,怎么刷题-CSDN博客https://blog.csdn.net/2401_88433210/article/details/146056171?spm=1011.2415.3001.10575&sharefrom=mp_manage_link

 1.小乐乐查找数字

        点进去直接做题:小乐乐查找数字_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/4c49a3a1559141f7a080a48c98cca4cb?tpId=107&&tqId=33411&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include <stdio.h>
int main() {int arr[101] = {0};int n = 0;scanf("%d", &n);int i = 0;for (i = 0; i < n; i++) {int m = 0;scanf("%d", &m);arr[m]++;}int x = 0;
scanf("%d", &x);
printf("%d", arr[x]);
return 0;
}

解析:因为n最大是100,所以可以用数组下标对应的位置来代表对应的值,

        当有这个值的时候,对应的位置上加1即可

        最后输出x位置对应的值,就是x值出现的次数。

2.KiKi学程序设计基础 

        点进去直接做题:KiKi学程序设计基础_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/07e75d2b212b4a11b1525863ca3af02c?tpId=107&&tqId=33412&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include <stdio.h>
int main() {
//难点:要让转义字符不是转义字符printf("printf(\"Hello world!\\n\");\n");printf("cout << \"Hello world!\" << endl;");return 0;
}

 解析:\n是换行符,\ \n第一个\把\n转义了,所以就可以正常输出\n了。

3.KiKi求质数个数

        点进去直接做题:KiKi求质数个数_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/d3a404ee0f8d41f98bf4707035d91086?tpId=107&&tqId=33416&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include <stdio.h>
int is_prime(int n) {int i = 0;for (i = 2; i < n; i++) {if (n % i == 0)return 0;}return 1;
}
int main() {int count = 0;int i = 0;for (i = 100; i <= 999; i++) {
//判断i是否为质数if (is_prime(i)) {count++;}}printf("%d\n", count);return 0;
}

 解析:前面几天做过,自己看代码就行。

4.KiKi去重整数并排序

        点进去直接做题:KiKi去重整数并排序_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/f59b914172b94c69a2b29ad0a1d9b1a7?tpId=107&&tqId=33417&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

//方法1
#include <stdio.h>
int main() {int n = 0;int arr[100];scanf("%d", &n);int i = 0;for (i = 0; i < n; i++) {scanf("%d", &arr[i]);}
//排序for (i = 0; i < n - 1; i++) {int j = 0;for (j = 0; j < n - 1 - i; j++) {if (arr[j] > arr[j + 1]) {int tmp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = tmp;}}}
//去重-比较n-1对int j = 0;for (i = 0; i < n - 1; i++) {
//把i+1后边的元素往前移动if (arr[i] == arr[i + 1]) {int k = 0;for (k = i; k < n - 1; k++) {arr[k] = arr[k + 1];}n--;i--;}}
//打印for (i = 0; i < n; i++) {printf("%d ", arr[i]);}return 0;
}//方法2:
int main() {int n = 0;int arr[1001] = {0};scanf("%d", &n);int i = 0 ;int m = 0;for (i = 0; i < n; i++) {scanf("%d", &m);arr[m] = m;}for (i = 0; i < 1001; i++) {if (arr[i] != 0)printf("%d ", arr[i]);}return 0;
}

 解析:昨天做过,昨天用的是方法二,这里给出一个方法一。

附加:5.KiKi学结构体和指针 (看不懂没关系,这是数据结构部分的内容)

        点进去直接做题:KiKi学结构体和指针_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/0ab593ca56b1476eb05b1ff848fd7fcc?tpId=107&&tqId=33419&rp=1&ru=/ta/beginner-programmers&qru=/ta/beginner-programmers/question-ranking参考代码:

#include <stdio.h>
#include <stdlib.h>
struct Node {int data;struct Node* next;
};
int main() {int n = 0;struct Node* list = NULL;struct Node* tail = NULL;//输入结点int i = 0;scanf("%d", &n);for (i = 0; i < n; i++) {int data = 0;scanf("%d", &data);struct Node* n = (struct Node*)malloc(sizeof(struct Node)); //开辟空间n->data = data;n->next = NULL;if (list == NULL) {list = n;tail = list;} else {tail->next = n;tail = tail->next;}}//删除结点int del = 0;scanf("%d", &del);struct Node* cur = list;struct Node* prev = NULL;while (cur) {//找到了if (cur->data == del) {struct Node* pd = cur;//如果删除的是第一个结点if (cur == list) {list = list->next;cur = list;} else {//删除的不是第一个结点prev->next = cur->next;cur = prev->next;}n--;free(pd);} else { //找不到prev = cur;cur = cur->next;}}cur = list;printf("%d\n", n);while (cur) {printf("%d ", cur->data);cur = cur->next;}//释放空间cur = list;while (cur) {del = cur;cur = cur->next;free(del);}return 0;
}

解析:看不懂没关系,当你学到数据结构单链表的时候,可以回过头来看这道题,就非常简单了。

感受:

        从第一天到现在已经做了120道左右的题了,相信你的写代码能力一定有了极大的提升,一起加油吧!

          若您是直接看到这篇博文,可以订阅一下这个专辑,每日一练,快速提升

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

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

相关文章

网络安全应急入门到实战

奇安信&#xff1a;95015网络安全应急响应分析报告&#xff08;2022-2024年&#xff09;官网可以下载 https://github.com/Bypass007/Emergency-Response-Notes 应急响应实战笔记 网络安全应急响应技术实战指南 .pdf 常见场景 第4章 勒索病毒网络安全应急响应 第5章 挖矿木…

jvm中每个类的Class对象是唯一的吗

jvm中每个类的Class对象是唯一的吗 在 Java 中&#xff0c;同一个类的 Class 对象在由同一个类加载器加载时是唯一的。析&#xff1a; 1. 同一类加载器的唯一性 规则&#xff1a;若一个类被同一个类加载器加载&#xff0c;无论创建多少实例&#xff0c;其 Class 对象始终唯一…

Visual Studio里的调试(debugging)功能介绍

参考 1- Introduction to Debugging | Basic Visual Studio Debugging&#xff08;这是一位印度博主视频&#xff0c;我下面做到笔记也主要参考她的视频&#xff0c;但不得不说口音太重了&#xff0c;一股咖喱味&#xff09; 目录 个人对调试浅显的认识和对调试的介绍逐行调…

NLP高频面试题(六)——decoder-only、encoder-only和encoder-decoder的区别与联系

一、基本概念与代表模型 1. Encoder-only 架构 Encoder-only 架构最具代表性的模型是 BERT。BERT 使用 masked language modeling&#xff08;MLM&#xff09;进行预训练&#xff0c;即随机遮蔽部分输入词汇&#xff0c;让模型预测被遮蔽的词汇。由于这种架构能够同时看到输入…

如何判断 MSF 的 Payload 是 Staged 还是 Stageless(含 Meterpreter 与普通 Shell 对比)

在渗透测试领域&#xff0c;Metasploit Framework&#xff08;MSF&#xff09;的 msfvenom 工具是生成 Payload&#xff08;载荷&#xff09;的核心利器。然而&#xff0c;当我们选择 Payload 时&#xff0c;经常会遇到一个问题&#xff1a;这个 Payload 是 Staged&#xff08;…

基于FPGA的3U机箱模拟量高速采样板ADI板卡,应用于轨道交通/电力储能等

板卡简介&#xff1a; 本板为模拟量高速采样板&#xff08;ADI&#xff09;&#xff0c;主要用于电机转速和相电流检测&#xff0c;以实现电机闭环控制。 性能规格&#xff1a; 电源&#xff1a;DC5V&#xff0c;DC3.3V&#xff0c;DC15V&#xff0c;DC24V FPGA&#xff1a;…

Gymnasium Cart Pole 环境与 REINFORCE 算法 —— 强化学习入门 2

Title: Gymnasium Cart Pole 环境与 REINFORCE 算法 —— 强化学习入门 2 文章目录 I. Gymnasium Cart Pole 环境II. REINFORCE 算法1. 原理说明2. REINFORCE 算法实现 I. Gymnasium Cart Pole 环境 Gymnasium Cart Pole 环境是一个倒立摆的动力学仿真环境. 状态空间: 0: Ca…

Python高级:GIL、C扩展与分布式系统深度解析

文章目录 &#x1f4cc; **前言**&#x1f527; **第一章&#xff1a;Python语言的本质与生态**1.1 **Python的实现与版本演进**1.2 **开发环境与工具链** &#x1f527; **第二章&#xff1a;元编程与动态特性**2.1 **描述符协议&#xff08;Descriptor Protocol&#xff09;*…

C++学习笔记(二十一)——文件读写

一、文件读写 作用&#xff1a; 文件读写指的是将数据从程序存储到文件&#xff0c;或从文件读取数据&#xff0c;以实现数据的持久化存储。 C 提供了 fstream 头文件&#xff0c;用于文件操作&#xff0c;主要包括&#xff1a; ofstream&#xff08;输出文件流&#xff09;—…

RBA+minibatch的尝试

目录 还是咬着牙来写 RBA了 JAX JAX->TORCH torch tensor的变形 pytorch怎么把一个【3,3,5】的tensor变成【3,10,5】&#xff0c;多的用0填充 pytorch如何把shape【100】转成【100,1】 把torch shape【100,1】变成【100】 SQUEEZE grad_fn 不能两次反向传播 还…

基于Python+Django的二手房信息管理系统

项目介绍 PythonDjango二手房信息管理系统(Pycharm Django Vue Mysql) 平台采用B/S结构&#xff0c;后端采用主流的Python语言进行开发&#xff0c;前端采用主流的Vue.js进行开发。 整个平台包括前台和后台两个部分。 - 前台功能包括&#xff1a;首页、二手房信息、公告管理、…

爬虫基础之爬取猫眼Top100 可视化

网站: TOP100榜 - 猫眼电影 - 一网打尽好电影 本次案例所需用到的模块 requests (发送HTTP请求) pandas(数据处理和分析 保存数据) parsel(解析HTML数据) pyecharts(数据可视化图表) pymysql(连接和操作MySQL数据库) lxml(数据解析模块) 确定爬取的内容: 电影名称 电影主演…

解决Qt信号在构造函数中失效的问题

情景引入&#xff1a;音乐播放器的“幽灵列表”问题 假设你正在开发一个音乐播放器应用&#xff0c;其中有一个功能是用户首次打开应用时&#xff0c;需要从服务器拉取最新的歌曲列表并显示在“本地音乐”页面中。你可能会写出类似这样的代码&#xff1a; // LocalSong 类的构…

Hadoop 启动,发现 namenode、secondary namenodes,这两个没有启动,报错超时。

今天在启动 hadoop 的时候&#xff0c;发现本应该同时启动的 namenode、secondary namenodes 却都没有启动。我还以为是坏了又重新装了虚拟机&#xff0c;重新下载 Hadoop 重新配置结果还是同样的问题&#xff0c;那没办法只能去解决问题了。 首先先再次尝试启动看他报错是什么…

Ranger 鉴权

Apache Ranger 是一个用来在 Hadoop 平台上进行监控&#xff0c;启用服务&#xff0c;以及全方位数据安全访问管理的安全框架。 使用 ranger 后&#xff0c;会通过在 Ranger 侧配置权限代替在 Doris 中执行 Grant 语句授权。 Ranger 的安装和配置见下文&#xff1a;安装和配置 …

Sqlserver安全篇之_启用和禁用Named Pipes的案列介绍

https://learn.microsoft.com/zh-cn/sql/tools/configuration-manager/named-pipes-properties?viewsql-server-ver16 https://learn.microsoft.com/zh-cn/sql/tools/configuration-manager/client-protocols-named-pipes-properties-protocol-tab?viewsql-server-ver16 默认…

深入解析过滤器模式(Filter Pattern):一种灵活高效的设计模式

过滤器模式&#xff08;Filter Pattern&#xff09;&#xff0c;也被称为标准模式&#xff0c;是一种常见的结构型设计模式。它通过将对象分为不同的标准或条件&#xff0c;使得对对象集合的操作变得更加灵活和高效。特别适用于处理复杂查询和条件过滤的场景。过滤器模式不仅能…

Spring Boot 整合 Elasticsearch 实践:从入门到上手

引言 Elasticsearch 是一个开源的分布式搜索引擎&#xff0c;广泛用于日志分析、搜索引擎、数据分析等场景。本文将带你通过一步步的教程&#xff0c;在 Spring Boot 项目中整合 Elasticsearch&#xff0c;轻松实现数据存储与查询。 1. 创建 Spring Boot 项目 首先&#xff…

2025年Postman的五大替代工具

虽然Postman是一个广泛使用的API测试工具&#xff0c;但许多用户在使用过程中会遇到各种限制和不便。因此&#xff0c;可能需要探索替代解决方案。本文介绍了10款强大的替代工具&#xff0c;它们能够有效替代Postman&#xff0c;成为你API测试工具箱的一部分。 什么是Postman&…

Redis之单线程与多线程

redis 单线程与多线程 Redis是单线程&#xff0c;主要是指Redis的网络IO和键值对读写是由一个线程来完成的&#xff0c;Redis在处理客户端的请求时包含获取(socket读)、解析、执行、内容返回&#xff08;socket写&#xff09;等都由一个顺序串行的主线程处理&#xff0c;这就是…