首页 > 其他分享 >L1-032 Left-pad C语言

L1-032 Left-pad C语言

时间:2024-08-28 14:26:06浏览次数:6  
标签:填充 buffer char 字符串 int pad 032 Left

根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的React/Babel干瘫痪了。这是个什么样的模块?就是在字符串前填充一些东西到一定的长度。例如用*去填充字符串GPLT,使之长度为10,调用left-pad的结果就应该是******GPLT。Node社区曾经对left-pad紧急发布了一个替代,被严重吐槽。下面就请你来实现一下这个模块。

输入格式:

输入在第一行给出一个正整数N(≤104)和一个字符,分别是填充结果字符串的长度和用于填充的字符,中间以1个空格分开。第二行给出原始的非空字符串,以回车结束。

输出格式:

在一行中输出结果字符串。

这个题目并不难,主要是能灵活运用指针,就能很好的解答这个题目。废话不多说,直接上代码

 

#include <stdio.h>
#include <string.h>

int main(void)
{
    int N, len;
    char ch;
    char buffer[100001];
    char* pstr = buffer;
    int i = 0;

    scanf("%d %c", &N, &ch);
    getchar();//读掉回车符,防止对下面的gets函数造成干扰
    gets(buffer);
    len = strlen(buffer);
    if (N <= len)
    {
        while (*pstr)
            pstr++;//使pstr指针指向'\0'
        for (i = 0; i < N; i++)
        {
            pstr--;
        }
        printf("%s", pstr);
    }
    else
    {
        for (i = 0; i < N - len; i++)
        {
            printf("%c", ch);
        }
        printf("%s", buffer);
    }
    return 0;
}

 这里主要就是注意两个点

  1. 要注意创建的数组大小,一定要大于10000,题目描述的并不严谨。
  2. 如果使用gets()函数,那么就要注意要使用getchar()函数将上面遗留下来的'\n'读走

标签:填充,buffer,char,字符串,int,pad,032,Left
From: https://blog.csdn.net/m0_74748762/article/details/141574617

相关文章

  • FPGA第 7 篇,FPGA开发环境搭建,Altrea开发环境搭建,Quartus几个版本之间的区别,以Quartus/
    前言我们知道FPGA的应用领域非常广泛,包括但不限于以下,请看,而且未来应用前景也可以,几乎涵盖了所有涉及数字信号处理和技术实现的领域。上期我们介绍了FPGA的基础知识数字电路,请看,FPGA与数字电路https://blog.csdn.net/weixin_65793170/article/details/141363656?spm=10......
  • ComfyUI-插件IPAdapter图片融合(附插件)
    哈喽大家好,前两期介绍了IPAdapter的风格迁移和人物形象迁移,这期来分享下如何利用IPAdapter实现两张图的融合参考图1参考图2融合图图片融合1、工作流将基础工作流中的【IPAdapterUnifiedLoader】节点换成【IPAdapterUnifiedLoaderCommunity】【IPAdapter】节......
  • 超赞!PaddleOCR在国产麒麟系统中的离线绿色部署
    一、背景在信创(信息技术应用创新)背景下,OCR(OpticalCharacterRecognition,光学字符识别)技术的需求日益增长,主要体现在以下几个方面:首先,随着国家信创战略的推进,自主可控和信息安全成为关键议题。OCR技术作为信息技术的重要组成部分,其国产化、自主可控的需求日益迫切。这要求OCR技......
  • 【Leetcode 2032 】 至少在两个数组中出现的值 —— 哈希表与按位运算符(最全的注解)
    给你三个整数数组 nums1、nums2 和 nums3 ,请你构造并返回一个 元素各不相同的 数组,且由 至少 在 两个 数组中出现的所有值组成。数组中的元素可以按 任意 顺序排列。示例1:输入:nums1=[1,1,3,2],nums2=[2,3],nums3=[3]输出:[3,2]解释:至少在两个数组中出......
  • [数字人、虚拟人、PaddleBoBo、深度学习框架、PaddleSpeech、PaddleGAN、虚拟主播]踩
    注意:使用gpu版的paddlepaddle,cpu版的生成视屏动不动几个小时,让人怀疑人生飞浆网址:飞桨AIStudio星河社区-人工智能学习与实训社区(baidu.com)一:使用conda创建虚拟环境:python3.7.4condacreate--namepy374python=3.7.4二:安装paddlepaddle2.2.2我的电脑目前c......
  • 【JavaScript】字符串01 - padStart() 和 padEnd()
    在JavaScript中,我们可以使用padStart()和padEnd()方法来完成字符串补全。下面给大家介绍一下这两个方法的使用。padStart()方法用于在当前字符串的前面填充指定的字符,直到字符串的长度达到指定的长度。padEnd()方法用于在当前字符串的后面填充指定的字符,直到字符串的长......
  • 轻松将 iPad 备份到外部驱动器的 3 种快速方法
    为了确保您的iPad数据无忧安全,我们来谈谈如何将这些珍贵的信息备份到外部硬盘上。这不仅是一个明智的选择,而且也是一个简单的过程。无论是家庭照片、工作文档还是您最喜欢的音乐收藏,一旦您掌握了将iPad备份到外部硬盘的技巧,这些数据将像放在保险箱中一样安全。让我们一起来......
  • 本文档汇总了一些ThinkPad在开机时会出现的报错信息。
    故障现象ThinkPad在开机时常见的报错信息及含义。0177BadSVPdata,stopPOSTtask—ThechecksumofthesupervisorpasswordintheEEPROMisnotcorrect。Systemboard。主板问题。0183BadCRCofSecuritySettingsinEFIVariable。EntertheThinkPadSetuppro......
  • sqlserver left join 后用 on 还是 where?
    昨天写SQLServer数据库上写SQL语句时,我原本想通过执行AleftjoinBon...and...的操作,将查询结果中的两条记录合并成一条,奈何发现结果中依然有两条记录。回顾了一下语法知识,意识到joinon...and...的语句并不会对结果集的记录条数进行过滤。它的主要作用是,根据and后......
  • left join 后用 on 还是 where?
    昨天写SQLServer数据库上写SQL语句时,我原本想通过执行AleftjoinBon...and...的操作,将查询结果中的两条记录合并成一条,奈何发现结果中依然有两条记录。回顾了一下语法知识,意识到joinon...and...的语句并不会对结果集的记录条数进行过滤。它的主要作用是,根据and后......