题解 | #字符串分隔#

字符串分隔

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);
}

全部评论

相关推荐

03-26 22:55
门头沟学院 Java
烤冷面在迎接:河南byd,应该就是郑大了。不过24届计算机是特殊情况,那年除了九✌和强2,以及两三个关系够硬的双非,其他的都是炮灰,感觉是十几年来互联网行业最烂的一年,如果想了解最新的就业情况,得找现在的大四。
点赞 评论 收藏
分享
点赞 评论 收藏
分享
05-16 09:20
已编辑
中国民航大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务