其他分享
首页 > 其他分享> > 字符串分隔

字符串分隔

作者:互联网

这道题刚开始想的是 分为三步 一是如果长度=8,那就直接打印字符串,如果长度<8,那就再字符串后面追加数字0,如果长度>8,那就先打印长度为8的字符,然后换行在打印剩下的字符,在补0,但是这种做法我还是没有实现出来而且似乎也太麻烦。 

接下来是我看别人的思路的

首先我们打印的每一行都是长度为8的字符串,所以我们没打印一行就要换行,看是否字符串长度大于8,如果长度大于8,还要在打印一行,这一行打印字符或者0。那我们仔细想一想什么时候打印0,什么时候打印字符呢,首先我们打印的字符长度肯定是等于字符长度,然后剩下的就补0.

#include<stdio.h>
#include<string.h>
int main()
{
    char str[100];
    while(scanf("%s",str)!=EOF) {
        int len =strlen(str);
        int i=0,j=0;
        for(i=0;i<len;i+=8)//如果字符串超过长度8,那就需要在打印一行
        {
            for(j=0;j<8;j++)//一行要打印8个
            {
                if(j+i<len)//如果长度小于=8那就是打印第一行,超过8打印第二行,此时下一行还是从下标0开始
                {//因为字符只有长度个,所以我们打印字符必须要等于长度个,剩余的都补0
                    printf("%c",str[i+j]);
                }
                else {
                    printf("%c",'0');//剩余的补0
                }
            }
            printf("\n");//每次等于长度8就换行
        }
    }
    return 0;
}

 

标签:字符,分隔,int,打印,str,字符串,长度
来源: https://blog.csdn.net/m0_61210742/article/details/123218427