字符串分隔

该博客介绍了如何将输入的字符串按每8个字符进行分割,对于不足8个字符的部分,用0填充。提供的代码示例展示了实现这一功能的方法,适用于处理长度小于等于100的字符串。

描述

•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;

•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

输入描述:

连续输入字符串(每个字符串长度小于等于100)

输出描述:

依次输出所有分割后的长度为8的新字符串

示例1

输入:

abc

输出:

abc00000

代码:

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

int main()
{
    char str[100];
    int n;
    int i=0,j=0;
    int zero;
    int len;
    int m;
    gets(str);
        len = strlen(str);
        n = len/8;
        m = len%8;
        for(i=0;i<n;i++) {
            for(j=i*8;j<(i+1)*8;j++) {
                printf("%c",str[j]);
            }
            printf("\n");
        }
        
    if(m==0) return 0;
        zero = 8 - m;
        for(;m--;) {
            printf("%c",str[j]);
            j++;
        }
        for(;zero--;) {
            printf("0");
        }
        if(m!=0) 
            printf("\n");
               
}

首先读入字符串,并计算出字符串的长度len;

根据求出 有几组8长度的字符需要输出(n),以及不足8长度的字符串的长度(m);

先看n:
假设有2组8长度的字符:

第一组 每个元素的下标:0-7

第二个元素的下标:8-15

我们可以总结出规律:i*8 ~ (i+1)*8-1

得出这个规律后就很容易写出第一个循环体

对于剩余字符串的处理也比较简单:

m表示字符长度,用8-m就是需要输出0的个数;

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值