算法练习DAY8——HJ4 字符串分隔

124 阅读1分钟

题目描述:

  • 输入一个字符串,请按长度为8拆分每个输入字符串并进行输出
  • 长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
  • 输入描述:连续输入字符串(每个字符串长度小于等于100)
  • 输出描述:依次输出所有分割后的长度为8的新字符串

示例1:

输入:abc
输出:abc00000

思路:

  • 将原字符串数组存入新的数组中:原数组下标对8求余作为新数组下标。
  • 注意第0个字符,开头不应该输出“\n”;其余余数为0的下标输出换行。
  • 长度不是8整数倍的字符串对8求余补0。
#include<stdio.h>
#include<string.h>

int main()
{
    char str[100],a[100];
    int i=0,len;	
    while(scanf("%s", str)!= EOF)
    {
        len=strlen(str);
        for(i=0;i<len;++i)
        {
            a[i%8]=str[i];   
            if(i>0 && (i%8)==0)
                printf("\n");
            printf("%c", a[i%8]);
	}
	for(len;len%8!=0;++len)
            printf("0");
        printf("\n");
    }
    return 0;
}

时间复杂度:O(n)