题解 | #字符串分隔#

字符串分隔

https://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7

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

/* 单字符读入,长度到8则添加\n,不足8则补0
 */

#define MAX_LEN 120

int main() {
    char *str = NULL;
    int ch = 1;
    unsigned int cl_num = 0;
    unsigned int add = 0;
    int i = 0;

    str = (char*)malloc(MAX_LEN * sizeof(char));
    memset(str, '\0', MAX_LEN);
    while((ch = getchar()) != '\n')
    {
        str[i] = (char)ch;
        i++;
        if((i - cl_num) % 8 == 0)
        {
            str[i] = '\n';
            i++;
            cl_num++;   //对齐添加\n后的字符串
        }
    }
    if((i - cl_num) % 8 != 0)    //最后一个字符串不为8位
    {
        add = (8 - (i - cl_num) % 8) % 8;    //要补充的位数
        for(int j = 0; j < add; j++)
            str[i + j] = '0';
    }

    printf("%s", str);

    free(str);
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务