当前位置: 首页 > article >正文

【华为机试】——HJ4 字符串分隔

【华为机试】——HJ5 进制转换😎

  • 前言🙌
    • HJ4 字符串分隔
      • 方法一:巧用scanf的输入格式
      • 方法二:循环+分解思想
  • 总结撒花💞

追梦之旅,你我同行

   
😎博客昵称:博客小梦
😊最喜欢的座右铭:全神贯注的上吧!!!
😊作者简介:一名热爱C/C++,算法等技术、喜爱运动、热爱K歌、敢于追梦的小博主!

😘博主小留言:哈喽!😄各位CSDN的uu们,我是你的博客好友小梦,希望我的文章可以给您带来一定的帮助,话不多说,文章推上!欢迎大家在评论区唠嗑指正,觉得好的话别忘了一键三连哦!😘
在这里插入图片描述

前言🙌

    哈喽各位友友们😊,我今天又学到了很多有趣的知识现在迫不及待的想和大家分享一下!😘我仅已此文,和大家分享【华为机试】——HJ4 字符串分隔的题目解析。

HJ4 字符串分隔

题目描述:
描述
•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

输入描述:
连续输入字符串(每个字符串长度小于等于100)
输出描述:
依次输出所有分割后的长度为8的新字符串
示例1
输入:
abc
输出:
abc00000

方法一:巧用scanf的输入格式

scanf输入格式%ns,表示只读入字符串的前n个字符,然后指针会自动跳到下一个字符位置,当循环再次读入时,又会读入字符串的前n个字符到缓冲区覆盖之前的n个字符。不够n位就读取结束。

#include <stdio.h>
#include<string.h>
int main() {
    char a[101];
    while (scanf("%8s", a) != EOF) 
    {
        int len = 8 - strlen(a);
        printf("%s",a);
        int i = 0;
        for(i = 0; i < len; i++)
        {
            printf("0");
        }
        printf("\n");
    }
    return 0;
}

方法二:循环+分解思想

  • 首先先处理的是按照题目要求将字符串输出
  • 然后将最后一组的不满固定长度n的字符串进行补0
#include <stdio.h>
#include<string.h>
int main() {
    char a[101];
    
    while (scanf("%s", a) != EOF) 
    {
        //处理字符串
        int len = strlen(a);
        int i = 0;
        for (i = 0; i < len ; i++)
        {
            printf("%c",a[i]);
            if((i+1) % 8 == 0)
            {
                printf("\n");
            }  
            
        }
        //补0
        for (int j = 0; j < 8 - (len % 8); j++)
        {
            //当能够被8整除时,会进行不必要的8个0输出,这里写个条件
            //判断一下。
            if(len % 8 == 0)
            break;
            printf("0");
        }
    }
    return 0;
}

运行结果:
在这里插入图片描述

总结撒花💞

   本篇文章旨在分享宏与函数的对比的相关知识点。希望大家通过阅读此文有所收获!😘如果我写的有什么不好之处,请在文章下方给出你宝贵的意见😊。如果觉得我写的好的话请点个赞赞和关注哦~😘😘😘


http://www.kler.cn/news/17840.html

相关文章:

  • Ubuntu 20.04安装mysql8并配置远程访问
  • [EIS 2019]EzPOP
  • Dtop环球嘉年华全球Web3.0分布式私域电商生态发展峰会圆满举办
  • PHP检查目录是否存在?file_exists与is_file、is_dir的区别,以及执行效率的比较
  • 【MySQL--07】内置函数
  • 华为MPLS跨域C1方式RR场景(数据不经过RR)实验配置
  • 【软考数据库】第八章 数据库SQL语言
  • antd-vue - - - - - row-selection的使用
  • 智能座舱的“宏大蓝图”和“残酷现实”
  • 基于R语言的贝叶斯时空数据模型技术应用
  • 3.20 makefile的条件判断及函数使用
  • Nginx基础配置详解(main、events、http、server、location)
  • 圣杯布局和双飞翼布局
  • 企业遇到知识管理困境该怎么办?这里有解决方案!寻找Baklib
  • 一文搞懂TS中的泛型
  • 【Unity编辑器】拓展Inspector视图
  • 【Python百日进阶-Web开发-Feffery】Day617- 趣味dash_17:微型系统--引入flask-login
  • vue+node.js高校青年志愿者管理系统
  • AI来势汹汹,这份「生存计划」请查收!
  • 搭建vue3+vite工程
  • HTTPS协议介绍
  • 4.4——多重继承
  • 树形结构的三级分类如何实现?
  • 如何训练自己的大型语言模型
  • powershell定义文本,用户交互,正则表达式
  • 宝塔面板搭建自己的网站,并发布公网远程访问
  • 企业服务管理(ESM)工具
  • MySQL中的Join 的算法(NLJ、BNL、BKA)
  • XXLJOB
  • 知识变现海哥|这3种课程定价最容易爆单