华为机考题:字符串分隔

题目描述

连续输入字符串,请按长度为 8 拆分每个字符串后输出到新的字符串数组;长度不是 8 整数倍的字符串请在后面补数字 0,空字符串不处理。

输入描述

连续输入字符串(输入多次,每个字符串长度小于 100)。

输出描述

依次输出拆分并补 0 后的字符串,每个字符串占一行。

示例

输入:

text

复制代码
abc
123456789

输出:

text

复制代码
abc00000
12345678
90000000

C 语言解决方案

思路

对每个读入的字符串:

  1. 计算长度 len。

  2. 按每 8 个字符为一组输出。

  3. 若最后一组不足 8 个字符,用 '0' 补齐到 8 个。

关键点:末尾补 0 时,要保证最终长度是 8 的整数倍。

代码实现

c

复制代码
#include <stdio.h>
#include <string.h>

int main(void) {
    char s[105];

    // 多组输入,遇到 EOF 结束
    while (scanf("%s", s) != EOF) {
        int len = strlen(s);

        // 按每 8 个字符一组处理
        for (int i = 0; i < len; i += 8) {
            // 输出这一组的 8 个字符
            for (int j = 0; j < 8; j++) {
                if (i + j < len) {
                    putchar(s[i + j]);   // 原字符
                } else {
                    putchar('0');        // 不足补 0
                }
            }
            putchar('\n');
        }
    }

    return 0;
}
相关推荐
KevinChaos2 小时前
阳台小花园开发手记 03|HarmonyOS 7.0 互动卡片:叶片伸出边框仍与花盆对齐
华为·harmonyos
lisw053 小时前
Dayhoff的PAM替换矩阵理论评介!
线性代数·算法·矩阵
熬夜磕代码丶3 小时前
RN鸿蒙空间音频实战
华为·音视频·harmonyos
行者-全栈开发3 小时前
【鸿蒙心迹】通知与推送集成——emitter 本地通知与推送服务全链路(HarmonyOS 7.x)
华为·harmonyos
一起学安全技术4 小时前
拆大模型 03|注意力的一句话版本:不用论文讲清 Attention
深度学习·算法·语言模型·transformer
Nerd(BUG版)4 小时前
鸿蒙API18~26新增V2组件全解析
microsoft·华为·harmonyos
Felven4 小时前
华为鲲鹏920s芯片serdestool工具使用说明
linux·运维·服务器·华为·鲲鹏920·serdestool
Delightrs5 小时前
Rust LeetCode238 算法题解
开发语言·算法·rust
自信150413057595 小时前
重生之从0开始学习c++之——vector-中篇
c++·学习·算法