题解 | #字符串分隔#

字符串分隔

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

//代码相对冗长,但对于读者更容易理解
#include <stdio.h>
#include<string.h>
int main()
{
    char arr[100]="";
    gets(arr);
  //此处创建brr数组,主要目的是防止改变原arr数组内容,养成良好的代码习惯
  //也可以不创建,直接利用arr打印
    char brr[8]="";
    int sz=strlen(arr);
    int i=0;
    int num=0;
    int t=sz;
  //有字符,打印
    if(sz>0)
    {
	  //大于等于8个字符,最后一个字符串需要补0,其余8个一组直接打印
        if(sz>=8)
        {
            for(t=sz;t>7;t-=8)
            {
                for(i=0;i<8;i++)
                {
                    brr[i]=arr[i+num*8];
                    printf("%c",brr[i]);
                }
                printf("\n");
                num++;
            }
		  //最后一组有剩余字符,且不足8个,补0
            if(t>0)
        {
            for(i=0;i<t;i++)
            {
                    brr[i]=arr[i+num*8];
                    printf("%c",brr[i]);
            }
            for(i=t;i<8;i++)
            {
                    brr[i]='0';
                    printf("%c",brr[i]);
            }
                printf("\n");
        }
        }
	  //原字符串不足8个,直接补0输出
        else
        {
            for(i=0;i<sz;i++)
            {
                    brr[i]=arr[i];
                    printf("%c",brr[i]);
            }
            for(i=sz;i<8;i++)
            {
                    brr[i]='0';
                    printf("%c",brr[i]);
            }
                printf("\n");
        }
    }
  //无字符内容,直接打印空串
    else
    {
        printf("%s\n",arr);
    }
    return 0;
}

全部评论

相关推荐

漂亮的海豚在炒股:把西电加粗
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务