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

news2025/3/20 11:40:29

引言

        针对初学者,每日练习几个题,快速上手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.coloradmin.cn/o/2318342.html

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

相关文章

10、STL中的unordered_map使用方法

一、了解 1、unordered_map(哈希) unordered_map是借用哈希表实现的关联容器。 访问键值对O&#xff08;1&#xff09;&#xff0c;最坏情况O&#xff08;n&#xff09;&#xff0c;例如哈希冲突严重时。【n是一个哈希桶的元素数量】 unordered_map特性 键值对存储&#xff…

本地部署deepseek-r1建立向量知识库和知识库检索实践【代码】

目录 一、本地部署DS 二、建立本地知识库 1.安装python和必要的库 2.设置主目录工作区 3.编写文档解析脚本 4.构建向量数据库 三、基于DS,使用本地知识库检索 本地部署DS,其实非常简单,我写了一篇操作记录,我终于本地部署了DeepSeek-R1(图文全过程)-CSDN博客 安装…

监控视频联网平台在智慧水利中的应用

随着智慧城市建设的深入推进&#xff0c;智慧水利作为其中的重要组成部分&#xff0c;正逐步实现数字化、智能化和网络化转型。在这一过程中&#xff0c;监控视频联网平台凭借其高效的数据采集、传输与分析能力&#xff0c;成为智慧水利建设的关键技术支撑。以下是监控视频联网…

深入解析素数筛法:从埃氏筛到欧拉筛的算法思想与实现

素数筛法是一种用于高效生成素数的算法。常见的素数筛法包括埃拉托斯特尼筛法&#xff08;埃氏筛&#xff09;和欧拉筛&#xff08;线性筛&#xff09;。下面我们将详细讲解这两种筛法的思想&#xff1a; 一、 埃拉托斯特尼筛法&#xff08;埃氏筛&#xff09; 思想&#xff1…

ubuntu20.04系统没有WiFi图标解决方案_安装Intel网卡驱动

文章目录 1. wifi网卡配置1.1 安装intel官方网卡驱动backport1.1.1 第四步可能会出现问题 1.2 ubuntu官方的驱动1.3 重启 1. wifi网卡配置 我的电脑是华硕天选4&#xff08;i7&#xff0c;4060&#xff09;&#xff0c;网卡型号intel ax201 ax211 ax210通用。 参考文章&#…

网络编程---多客户端服务器

写一个服务器和两个客户端 运行服务器和2个客户端&#xff0c;实现聊天功能 客户端1 和 客户端2 进行聊天 客户端1将聊天数据发送给服务器 服务器将聊天数据转发给客户端2 要求&#xff1a; 服务器使用 select 模型实现 客户端1使用 poll 模型实现 客户端2使用 多线程实现…

LeetCode 2614.对角线上的质数:遍历(质数判断)

【LetMeFly】2614.对角线上的质数&#xff1a;遍历(质数判断) 力扣题目链接&#xff1a;https://leetcode.cn/problems/prime-in-diagonal/ 给你一个下标从 0 开始的二维整数数组 nums 。 返回位于 nums 至少一条 对角线 上的最大 质数 。如果任一对角线上均不存在质数&…

红日靶场(二)——个人笔记

靶场搭建 新增VMnet2网卡 **web&#xff1a;**需要配置两张网卡&#xff0c;分别是外网出访NAT模式和内网域环境仅主机模式下的VMnet2网卡。 **PC&#xff1a;**跟web一样&#xff0c;也是需要配置两张网卡&#xff0c;分别是外网出访NAT模式和内网域环境仅主机模式下的VMn…

实时视频分析的破局之道:蓝耘 MaaS 如何与海螺 AI 视频实现高效协同

一、蓝耘 MaaS 平台&#xff1a;AI 模型全生命周期管理的智能引擎 蓝耘 MaaS&#xff08;Model-as-a-Service&#xff09;平台是由蓝耘科技推出的 AI 模型全生命周期管理平台&#xff0c;专注于为企业和开发者提供从模型训练、推理到部署的一站式解决方案。依托云原生架构、高…

走进Java:String字符串的基本使用

❀❀❀ 大佬求个关注吧~祝您开心每一天 ❀❀❀ 目录 一、什么是String 二、如何定义一个String 1. 用双引号定义 2. 通过构造函数定义 三、String中的一些常用方法 1 字符串比较 1.1 字符串使用 1.2 字符串使用equals() 1.3 使用 equalsIgnoreCase() 1.4 cpmpareTo…

python系列之元组(Tuple)

不为失败找理由&#xff0c;只为成功找方法。所有的不甘&#xff0c;因为还心存梦想&#xff0c;所以在你放弃之前&#xff0c;好好拼一把&#xff0c;只怕心老&#xff0c;不怕路长。 python系列之元组&#xff08;Turple&#xff09; 一、元组是什么&#xff1f;——给新手的…

破解验证码新利器:基于百度OCR与captcha-killer-modified插件的免费调用教程

破解验证码新利器&#xff1a;基于百度OCR与captcha-killer-modified插件的免费调用教程 引言 免责声明&#xff1a; 本文提供的信息仅供参考&#xff0c;不承担因操作产生的任何损失。读者需自行判断内容适用性&#xff0c;并遵守法律法规。作者不鼓励非法行为&#xff0c;保…

批量删除 PPT 中的所有图片、某张指定图片或者所有二维码图片

PPT 文档中的图片如何删除呢&#xff1f;相信很多小伙伴或碰到类似的需求。比如我们需要删除 PPT 文档中的某一张图片或者某张二维码图片&#xff0c;如果每一页都有这张图片&#xff0c;或者有很多 ppt 都有同一张要删除的图片&#xff0c;我们应该怎么快速的完成删除呢&#…

大模型开发(六):LoRA项目——新媒体评论智能分类与信息抽取系统

LoRA项目——新媒体评论智能分类与信息抽取系统 0 前言1 项目介绍1.1 项目功能1.2 技术原理1.3 软硬件环境1.4 项目结构 2 数据介绍与处理2.1 数据集介绍2.2 数据处理2.3 数据导入器 3 模型训练3.1 配置文件3.2 工具函数3.3 模型训练3.4 模型评估 4 模型推理 0 前言 微调里面&…

mysql-innodb存储引擎主键索引叶子结点数据结构(非单纯的双向链表)

我们应该清楚行记录是放在页中的。 compact行记录格式&#xff1a; 主要介绍几个比较重要的参数 heap_no&#xff1a; 页号 record_type&#xff1a; 0 表示普通类型&#xff08;叶子结点&#xff09;&#xff0c;1表示B树的非叶子节点 &#xff0c;2 表示最小记录&#xff…

物联网为什么用MQTT不用 HTTP 或 UDP?

先来两个代码对比&#xff0c;上传温度数据给服务器。 MQTT代码示例 // MQTT 客户端连接到 MQTT 服务器 mqttClient.connect("mqtt://broker.server.com:8883", clientId) // 订阅特定主题 mqttClient.subscribe("sensor/data", qos1) // …

Vmware中的centos7连接上网

有很多刚刚开始配置了centos7&#xff0c;然后发现不能上网现在来解决这个问题。 测试能不能上网 先还原这个设置&#xff0c;如果没有动过的话就不用&#xff0c;连接模式是NAT模式 然后进去设置网络环境&#xff0c;记得是用超级用户设置 vi /etc/sysconfig/network-script…

【AI知识】常见的优化器及其原理:梯度下降、动量梯度下降、AdaGrad、RMSProp、Adam、AdamW

常见的优化器 梯度下降&#xff08;Gradient Descent, GD&#xff09;局部最小值、全局最小值和鞍点凸函数和非凸函数动量梯度下降&#xff08;Momentum&#xff09;自适应学习率优化器AdaGrad&#xff08;Adaptive Gradient Algorithm&#xff09;​RMSProp&#xff08;Root M…

线性规划的标准形式

标准形式的定义 目标函数&#xff1a;最大化线性目标函数 其中&#xff0c;x 是决策变量向量&#xff0c;c 是目标系数向量。 约束条件&#xff1a;等式形式约束 A x b, 其中&#xff0c;A 是约束系数矩阵&#xff0c;b 是常数项向量。 变量非负约束&#xff1a; 。 因此…

网络安全应急入门到实战

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