华为机考题:字符串分隔

题目描述

连续输入字符串,请按长度为 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;
}
相关推荐
CQU_JIAKE1 小时前
9.4【A】
算法
CQU_JIAKE1 小时前
9.13[A]
算法
resh_people1 小时前
开源鸿蒙平台 KMP_CMP 三方库「AtomicFU」适配全流程
华为·开源·harmonyos
懿路向前1 小时前
【唤醒实战笔记】2026-09-29 | 智能体提示词迭代史(v1 → v8)
linux·笔记·算法
李游Leo1 小时前
HarmonyOS 7 + ArkUI-Window Kit:闪控窗任务恢复与形态切换【鸿蒙心迹】
华为·harmonyos
@陈小鱼2 小时前
基于CNN-Transformer的无袖带血压估计
人工智能·深度学习·神经网络·算法·cnn·transformer·血压
李游Leo2 小时前
HarmonyOS 7 + ArkUI-Hvigor:动态字体与色彩对比上架预检【鸿蒙心迹】
华为·log4j·harmonyos
黄金龙PLUS2 小时前
5个1280比特大状态置换算法的设计与分析
算法·网络安全·密码学·哈希算法·同态加密
不会就选b2 小时前
算法日常・每日刷题--<动态规划>1
java·数据结构·算法