假期作业 9

1.用指针实现strlen、strcpy、strcat、strcmp

代码:

#include <stdio.h>
#include <string.h>
int mystrlen(char *str);
int mystrcmp(char *str1,char *str2);
char *mystrcat(char *str1,char *str2);
char *mystrcpy(char *str1,char *str2);
int main(int argc, const char *argv[])
{

    char arr[30] = "";
    char brr[30] = "";
    gets(arr);
    gets(brr);
    printf("len: %d %d\n",mystrlen(arr),mystrlen(brr));
    printf("cmp: %d\n",mystrcmp(arr,brr));
    mystrcat(arr,brr);
    printf("cat: %s\n",arr);
    printf("cpy:\n");
    mystrcpy(arr,brr);
    puts(arr);
    puts(brr);
    return 0;
}

int mystrlen(char *str)
{
    char *p=str;
    int i=0,n=0;
    for(i=0;*(p+i)!='\0';i++)
    {
        n++;
    }    
    return n;
}

int mystrcmp(char *str1,char *str2)
{
    int result=0;
    while(*str1 !='\0' || *str2 != '\0'  )
    {
        if(*str1 != *str2)
        {
            result = *str1-*str2;
            break;
        }
        str1++;
        str2++;
    }
    return result;
}

char *mystrcpy(char *str1,char *str2)
{
    char *cp = str1;
    while(*cp++ = *str2++);
    return str1;
}

char *mystrcat(char *str1,char *str2)
{
    char *pa = str1;
    char *pb = str2;
    while(*str1 !=0)
    {
        str1++;
    }
    for(;*str2 !=0;str1++,str2++)
    {
        *str1 = *str2;
    }
    return  str1;
}

2.写一个swap函数实现两数交换

代码:

#include<stdio.h>
#include<string.h>
void swap(int *a,int *b)
{
    int t;
    t=*a;
    *a=*b;
    *b=t;
}
int main(int argc,const char *argv[])
{
    int a=10,b=20;
    swap(&a,&b);
    printf("a=%d,b=%d\n",a,b);    
    return 0;
}

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

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

相关文章

【Linux】基础命令 第二篇

目录 echo 输出重定向:(本质都是写入) 输入重定向cat more 指令 && less指令 head && tail && 管道初步使用 grep&#xff1a;行文本过滤工具&#xff08;文本按行搜索&#xff09; date&#xff1a;获取时间 date 命令用于 显示 或 设置系统的…

【原创 附源码】Flutter安卓及iOS海外登录--Apple登录最详细流程

最近接触了几个海外登录的平台&#xff0c;踩了很多坑&#xff0c;也总结了很多东西&#xff0c;决定记录下来给路过的兄弟坐个参考&#xff0c;也留着以后留着回顾。更新时间为2024年2月12日&#xff0c;后续集成方式可能会有变动&#xff0c;所以目前的集成流程仅供参考&…

Go-zero微服务个人探究之路(十二)定时任务的选择调研

前言 很多时候后台需要做定时任务的需求&#xff0c;笔者的项目采用go-zero框架微服务框架&#xff0c;需要做定时任务&#xff0c;于是做了如下方法调研&#xff0c;共有大概三种主要选择 方案 难度总体由容易到复杂 go的timer库 通过Go的标准库time中的Ticker和Tick功能…

【C++ 02】类和对象 1:初识类和对象

文章目录 &#x1f308; Ⅰ 面向对象介绍&#x1f308; Ⅱ 类的引入&#x1f308; Ⅲ 类的定义格式1. 声明和定义不分离2. 声明和定义分离 &#x1f308; Ⅳ 类的访问限定符&#x1f308; Ⅴ 类的作用域&#x1f308; Ⅵ 类的实例化&#x1f308; Ⅶ this 指针 &#x1f308; Ⅰ…

【第二届 Runway短视频创作大赛】——截至日期2024年03月01日

短视频创作大赛 关于AI Fil&#xff4d; Festival竞赛概况参加资格报名期间报名方法 提交要求奖品附录 关于AI Fil&#xff4d; Festival 2022年成立的AIFF是一个融合了最新AI技术于电影制作中的艺术和艺术家节日&#xff0c;让我们得以一窥新创意时代的风采。从众多参赛作品中…

ChatGPT高效提问—prompt实践(视频制作)

ChatGPT高效提问—prompt实践&#xff08;视频制作&#xff09; 1.1 视频制作 ​ 制作视频对于什么都不懂的小白来说非常难。而随着AI技术的发展&#xff0c;这件事变得越来越简单&#xff0c;如今小白也可以轻松上手。如何借助ChatGPT来制作短视频。 ​ 其实方法非常简单&a…

《UE5_C++多人TPS完整教程》学习笔记12 ——《P13 加入游戏会话(Joining The Sessions)》

本文为B站系列教学视频 《UE5_C多人TPS完整教程》 —— 《P13 加入游戏会话&#xff08;Joining The Session&#xff09;》 的学习笔记&#xff0c;该系列教学视频为 Udemy 课程 《Unreal Engine 5 C Multiplayer Shooter》 的中文字幕翻译版&#xff0c;UP主&#xff08;也是…

【操作系统】3.操作系统的运行环境

3.操作系统的运行环境 3.1.操作系统的运行机制 计算机系统中&#xff0c;通常CPU执行两种不同性质的程序&#xff1a; 操作系统内核程序 用户自编程序&#xff0c;即系统外层的应用程序&#xff0c;或简称“应用程序” 对操作系统而言&#xff0c;这两种程序的作用不同——前…

贪心算法入门题(算法村第十七关青铜挑战)

青铜挑战&#xff1a;贪心其实很简单 贪心算法&#xff08;贪婪算法&#xff09;是指在对问题进行求解时&#xff0c;在每一步选择中都采取最好或者最优的选择&#xff0c;从而希望能够导致结果是最好或者最优的算法。 贪心算法要么得到最优解&#xff0c;要么得到近似最优解…

手把手教你开发Python桌面应用-PyQt6图书管理系统-修改密码UI设计实现

锋哥原创的PyQt6图书管理系统视频教程&#xff1a; PyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~_哔哩哔哩_bilibiliPyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~共计24条视频&…

Linux第46步_通过“添加自定义菜单”来学习menuconfig图形化配置原理

通过“添加自定义菜单”来学习menuconfig图形化配置原理&#xff0c;将来移植linux要用到。 自定义菜单要求如下: ①、在主界面中添加一个名为“My test menu”&#xff0c;此菜单内部有一个配置项。 ②、配置项为“MY TESTCONFIG”&#xff0c;此配置项处于菜单“My test m…

Spring Security实现权限认证与授权

一、Spring Security Spring Security作为Spring家族的安全框架&#xff0c;在安全方面的两个核心功能是认证&#xff08;Authentication&#xff09;和授权&#xff08;Authorization&#xff09;。 &#xff08;1&#xff09;用户认证指的是&#xff1a;验证某个用户是否为系…

【Java程序设计】【C00265】基于Springboot的地方废物回收机制管理系统(有论文)

基于Springboot的地方废物回收机制管理系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于Springboot的地方废物回收机构管理系统 本系统分为管理员功能模块以及员工功能模块。 管理员功能模块&#xff1a;管理员登录系统后…

假期day8多进程与多线程(2024/2/11)

多进程服务器 #include<myhead.h> #define PORT 9999 //端口号 #define IP "192.168.125.113" //IP地址//定义信号处理函数&#xff0c;用于回收僵尸进程 void handler(int signo) {if(signo SIGCHLD){while(waitpid(-1, NULL, WNOH…

EXCEL中如何调出“数据分析”的菜单

今天发现&#xff0c;原来WPS还是和EXCEL比&#xff0c;还是少了“数据分析”这个日常基本做统计的菜单&#xff0c;只好用EXCEL了&#xff0c;但奇怪发现我的EXCEL中没发现这个菜单&#xff0c;然后查了下&#xff0c;才发现&#xff0c;要用如下的方法打开&#xff1a; 1&…

Go+:一种简单而强大的编程语言

Go是一种简单而强大的编程语言&#xff0c;它是在Go语言之上构建的&#xff0c;旨在提供更加强大、灵活和易于使用的编程体验。Go与Go语言共享大部分语法和语义&#xff0c;因此Go开发人员可以很快上手Go&#xff0c;同时也可以使用Go来编写更加简洁和高效的代码。在本文中&…

LeetCode516. Longest Palindromic Subsequence——动态规划

文章目录 一、题目二、题解 一、题目 Given a string s, find the longest palindromic subsequence’s length in s. A subsequence is a sequence that can be derived from another sequence by deleting some or no elements without changing the order of the remainin…

STM32自学☞定时器定时中断案例

timer_interrupt.c文件 /* 初始化函数编写步骤&#xff1a; 1.打开时钟 2.选择时基单元的时钟源&#xff08;内部时钟源&#xff09; 3.配置时基单元 4.NVIC配置 5.启动定时器 */ #include "stm32f10x.h" #include "stm32f10x_tim.h" #include …

【数论】exgcd 扩展欧几里得算法

参考&#xff1a;exgcd详解 - zzt1208 - 博客园 (cnblogs.com) exgcd&#xff08;扩展欧几里得算法&#xff09;&#xff0c;用来求形如 a x b y g c d ( a , b ) axbygcd(a,b) axbygcd(a,b)&#xff08; a , b a,b a,b 为常数&#xff09;的方程的一组整数解。&#xff08…