题解 | #字符串分隔#

字符串分隔

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

#include <stdio.h>
#include <string.h>
/*
        1. gets()读取一个字符串
        2. len = strlen(str),0直接return
        3. len / 8 = 8位的个数 m
        4. len % 8 = 最后一个8位数的实际长度 n
        4. for i < m
                for j < 8
                    printf ("%c", str[i*8+j])
                printf("\n")
        5. n != 0
            for i < 8
                if i < n
                    printf("%c", str[m*8+i])
                else
                    printf("0")
            printf("\n")
    */
int main() {
    char str[200] = {0};
    fgets(str, sizeof(str), stdin);
    int len = strlen(str) - 1;
    if (0 == len)
    {
        return -1;
    }
    
    int m = len / 8;
    int n = len % 8;
    // printf("len:%d m:%d n:%d\n", len, m, n);
    for(int i = 0; i < m; i++)
    {
        for (int j = 0; j < 8; j++)
        {
            printf ("%c", str[i * 8 + j]);
        }
        printf("\n");
    }

    if (0 != n)
    {
        for (int i = 0; i < 8; i++)
        {
            if (i < n)    // i是从0开始的,假设只有3位数,那i = 2的时候就已经把前三位输出了
            {
                printf("%c", str[m * 8 + i]);
            }  
            else
            {
                printf("0");
            }
        }
        printf("\n");       
    }
    return 0;
}

全部评论

相关推荐

12-19 16:52
门头沟学院
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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