非写代码无以致远

news2025/1/19 3:24:07

标题党一下,本篇文章主要汇总了一些代码题,让大家写一些代码练习一下吧!

变种水仙花_牛客题霸_牛客网 (nowcoder.com)

#include<stdio.h>
int main() 
{
    for (int i = 10000; i <= 99999; i++) {
        int sum = 0;
        for (int j = 10; j <= 10000; j*=10) {
            sum += (i / j) * (i % j);
        }
        if (sum == i) {
            printf("%d ", i);
        }
    }
    return 0;
}

序列中删除指定数字_牛客题霸_牛客网 (nowcoder.com)

#include<stdio.h>
int main() {
        int n;
        scanf("%d", &n);
        int arr[50] = { 0 };
        for (int i = 0; i < n; i++) {
                scanf("%d", &arr[i]);
           
    }
        int del;
        scanf("%d", &del);
        int j = 0;
        int i = 0;
        for (; i < n; i++) {
                if (arr[i] != del) {
                        arr[j] = arr[i];
                        j++;
                   
        }
           
    }
        for (int k = 0; k < j; k++) {
                printf("%d ", arr[k]);
           
    }
        return 0;
}

使用联合体判断大小端 

使用联合体的知识,写一个函数判断当前机器是大端还是小端,如果是小端返回1,如果是大端返回0。

int check_sys()
{
union
{
int i;
char c;
}un;
un.i = 1;
return un.c;//返回1是⼩端,返回0是⼤端
}

1929. 数组串联 - 力扣(LeetCode)


int* getConcatenation(int* nums, int numsSize, int* returnSize) 
//nums:当前数组 numsSize:当前数组的长度 returnSize返回数组的长度
{
    int*ans=(int*)malloc(sizeof(int)*numsSize*2);//为其开辟2倍的空间
    for(int i=0;i<numsSize;i++)
    {
        ans[i] =nums[i];
        ans[i + numsSize] = nums[i];
    }
    *returnSize=2*numsSize;
    return ans;
}

写一个程序拷贝函数

# define _CRT_SECURE_NO_WARNINGS 
#include<stdio.h>
#include<stdlib.h>
void CopyText()
{
	FILE* fr = fopen("data.txt", "r");
	if (fr == NULL)
	{
		perror("fopen read Error");
		return;
	}
	FILE* fw = fopen("data_copy.txt", "w");
	if (fw == NULL)
	{
		perror("fopen write Error");
		return;
	}
	//开始一边读,一边写
	int ch = 0;
	while ((ch = fgetc(fr)) != EOF)
	{
		fputc(ch, fw);
	}
	fclose(fr);
	fclose(fw);
	fr = NULL;
	fw = NULL;
}
int main()
{
	return 0;
}

 

 

使用malloc函数模拟开辟一个二维数组

使用malloc函数模拟开辟一个3*5的整型二维数组,开辟好后,使用二维数组的下标访问形式,访问空间。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int** arr = (int**)malloc(sizeof(int*) * 3);
	for (int i = 0; i < 3:i++)
	{
		arr[i] = (int*)malloc(5 * sizeof(int));
	}
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			arr[i][j] = 1;
		}
	}
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			printf("%d", arr[i][j]);
		}
	}
    printf("\n");
    for (int i = 0; i < 3; i++)
	{
			free(arr[i]);//如何生成,就如何释放
            arr[i]=NULL;
		
	}
    free(arr);
    arr=NULL;
    
	printf("\n");
	return 0;
}

offset宏

写一个宏,计算结构体中某变量相对于首地址的偏移,并给出说明

 这个函数的头文件是include<stddef.h>

再来看看这个函数的参数:

宏定义的这句是什么意思呢,0强转为(struct A*) 类型,当前结构体的首地址是0号地址(NULL)。拿到m的地址之后又做了强制类型转换,再强转为size_t(通常用于表示对象的大小或内存中的偏移量),这个size_t是整型。转换为整型4。

# define _CRT_DEFINE_NO_WARNINGS 
#define My_offsetoff(s,m) ((size_t)&(((s*)0)->m))
#include<stdio.h>
#include<stddef.h>
struct A
{
	char c;
	int count;
};
int main()
{
	int ret=My_offsetoff(struct A,c);
	//int ret = offsetof(struct A, m);
	printf("%d", ret);
	return 0;
}

写一个宏,可以将一个整数的二进制位的奇数位和偶数位交换。

n&这些数,可以分别拿到奇数位和偶数位。 此时按位或这两位就行了。

把n传入,定义一个这样的公式就可以解决问题。

# define _CRT_SECURE_NO_WARNINGS 
#define SwapBit(n) ((((n)&0x55555555)<< 1)|((n)&0xaaaaaaaa)>>1)))
#include<stdio.h>
int main()
{
	printf("%d\n", SwapBit(11));
	return 0;
}

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

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

相关文章

业务网关的设计与实践

在过去的两年里&#xff0c;主要在做业务网关的开发。今年春节后选择转岗去做更偏近业务的开发。公司的业务是金融相关&#xff0c;一直觉得金融相关的业务是有一定门槛并且是对职业生涯有帮助的&#xff0c;所以趁这个机会来深入了解这块业务。 仔细回想&#xff0c;在做业务…

数据结构和算法:十大排序

排序算法 排序算法用于对一组数据按照特定顺序进行排列。排序算法有着广泛的应用&#xff0c;因为有序数据通常能够被更高效地查找、分析和处理。 排序算法中的数据类型可以是整数、浮点数、字符或字符串等。排序的判断规则可根据需求设定&#xff0c;如数字大小、字符 ASCII…

【算法】单单单单单调栈,接接接接接雨水

【算法】单单单单单调栈&#xff0c;接接接接接雨水 今天没有小故事。 参考以及题单来源&#xff1a; 代码随想录 (programmercarl.com) Part 1 啥是单调栈&#xff1f; 1.啥啥啥是单调栈&#xff1f; 栈的特性想必各位再熟悉不过了&#xff1a;先进后出。栈仅仅有一个出口&a…

递归算法讲解2

前情提要 上一篇递归算法讲解在这里 递归算法讲解&#xff08;结合内存图&#xff09; 没看过的小伙伴可以进去瞅一眼&#xff0c;谢谢&#xff01; 递归算法的重要性 递归算法是非常重要的&#xff0c;如果想要进大厂&#xff0c;以递归算法为基础的动态规划是必考的&…

Android安卓开发 - 简单介绍(一)

最近呢需要重构还有维护安卓项目&#xff0c;所以最近会从零开始梳理开发的一些知识点以及开发的内容 前面已经写了安装的教程&#xff0c;idea怎么安装&#xff0c;还有官方的开发工具Android Studio怎么安装 2024最新版Android studio安装入门教程&#xff08;非常详细&…

SpringBoot整合ELK8.1.x实现日志中心教程

目录 背景 环境准备 环境安装 1.JDK安装 2.安装Elasticsearch 3.安装zookeeper 4.安装Kafka 5.安装logstash 6.安装file beat 解决方案场景 1.日志采集 1.1 应用日志配置 1.1.1 创建logback-spring.xml文件 1.1.2 创建LoggerFactory 1.1.3 trace日志的记录用法 …

K8S- Deployment 的滚动更新 Rolling Update

滚动更新 这里的更新指的不是更新deployment 本身的属性(label/ replicas)等&#xff0c; 而是更新POD 的container 的版本 更新方法通常有两种 是直接update deployment配置&#xff0c; 注意只有update了template中的内容(与container相关) 才会触发更新用kubectl set ima…

C++ | Leetcode C++题解之第7题整数反转

题目&#xff1a; 题解&#xff1a; class Solution { public:int reverse(int x) {int rev 0;while (x ! 0) {if (rev < INT_MIN / 10 || rev > INT_MAX / 10) {return 0;}int digit x % 10;x / 10;rev rev * 10 digit;}return rev;} };

鸿宇多用户商城 scan_list.php SQL注入漏洞复现

0x01 产品简介 鸿宇多用户商城是一款支持各行业的多商家入驻型电商平台系统,商家版APP,微信商城,小程序及各种主流营销模块应有尽有,是一个功能强大的电子商务平台,旨在为企业和个人提供全面的在线购物解决方案。 0x02 漏洞概述 鸿宇多用户商城 scan_list.php 文件 data[fa…

Python 网络请求:深入理解Requests库

目录 引言 一、Requests库简介 二、安装与基本使用 三、requests库的特性与优势 四、requests库在实际应用中的案例 1.get请求 2.post请求 3.超时重试 4.headers设置 5.session会话 6.携带cookie​​​​​​​ 7.携带代理​​​​​​​ 8.携带身份认证​​​​​…

FLink学习(三)-DataStream

一、DataStream 1&#xff0c;支持序列化的类型有 基本类型&#xff0c;即 String、Long、Integer、Boolean、Array复合类型&#xff1a;Tuples、POJOs 和 Scala case classes Tuples Flink 自带有 Tuple0 到 Tuple25 类型 Tuple2<String, Integer> person Tuple2.…

InternLM2-lesson2作业

书生浦语大模型趣味 Demo 视频连接&#xff1a;https://www.bilibili.com/video/BV1AH4y1H78d/?vd_source902e3124d4683c41b103f1d1322401fa 目录 书生浦语大模型趣味 Demo一、基础作业二、进阶作业 一、基础作业 第一次执行&#xff1a; 第二次执行&#xff1a; 第一次执…

最新408试卷分析+备考经验分享

408出题再糟糕&#xff0c;你是不是还是要考&#xff1f; 别管出题人出多刁钻的题&#xff0c;大家拿到的卷子都是一样的&#xff0c;要难就都难&#xff0c;要刁钻就一起g... 所以再潜心钻研出题规律或出题套路&#xff0c;不如多花些时间去多复习巩固几遍知识点&#xff01…

Leetcode_2两数相加

文章目录 前言一、两数相加1.1 问题描述1.2 解法一&#xff1a;分别将链表转为数字&#xff0c;然后相加1.3 代码实现1.4 解法二&#xff1a;分别将对应位置数字相加1.5 代码实现 二、使用步骤1.引入库2.读入数据 前言 链表是一种物理内存非连续存储&#xff0c;非顺序的线性数…

深入理解C/C++的内存管理

在C和C中&#xff0c;高效的内存管理是编写性能优化和资源高效利用程序的关键。本文将深入探讨C/C内存管理的各个方面&#xff0c;包括内存的分布、C语言和C中的动态内存管理方式&#xff0c;以及new和delete操作符的使用 C/C内存分布 C和C程序的内存可以分为以下几个区域&…

【Linux】-进程知识铺垫①计算机硬件的组织:冯诺依曼体系结构详细解读②关于操作系统对软硬件及用户的意义

目录 ​编辑 1.关于计算机的体系结构 1.1 冯诺依曼体系结构的诞生 2.冯诺依曼体系结构 2.1 cpu:运算器&#xff1a;更多的是让cpu具有特殊的数据计算功能&#xff1a; 2.2 控制器 2.3输入设备 2.4输出设备 3.计算机各个硬件设备之间的关系 4.内存与计算机效率 5.关于为什么总说…

AI智能校色解决方案,专业级画质提升

由于拍摄环境、设备性能以及编辑经验等多种因素的影响&#xff0c;视频画质往往难以达到理想状态。这时&#xff0c;一款高效、智能的校色解决方案就显得尤为重要。美摄科技凭借深厚的图像处理技术和AI算法研发实力&#xff0c;推出了全新的AI智能校色解决方案&#xff0c;助力…

Kubernetes(k8s)核心资源解析:Pod详解

Kubernetes核心资源解析&#xff1a;Pod详解 1、什么是Pod&#xff1f;2、Pod 的组成3、Pod 如何管理多个容器4、Pod 的网络5、Pod 的存储方式6、Pod 的工作方式6.1 自主式 Pod6.2 监控和管理 Pod6.3 Pod 的创建流程 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收…

力扣热题100_链表_2_两数相加

文章目录 题目链接解题思路解题代码 题目链接 2. 两数相加 给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 …

网络安全 | 什么是云安全?

关注WX&#xff1a;CodingTechWork 云安全-介绍 云安全是为了解决企业安全所面临的外部和内部威胁&#xff0c;它是一组程序和技术的集合。企业在实施其数字化转型策略&#xff0c;并将各种云端工具和服务纳入企业基础架构中时&#xff0c;需要云安全保障业务顺利进行。 云计…