[蓝蓝计算机考研算法训练二期]-day28

74 阅读1分钟

42、字符串分割。

  • 输入一个字符串,请按长度为8拆分成每个输入字符串并进行输出
  • 长度不是8整数倍的字符串请在后面不数字0,空字符串不处理

输入描述:

连续输入字符串(每个字符串长度小于等于100)

输出描述:

依次输出所有分割后的长度为8的新字符串

示例1

输入:

abc

输出:

abc00000

思路

本算法的实现思路是:先实现无穷读取字符串,然后将字符串遍历输出,输出的时候记录,当个数是8的整数倍的时候换行,然后对8取余,将剩余需要输出的0的个数输出出来就行。

具体实现

# include<stdio.h>
int main() {
	char str[101];
	while(true) {
		scanf("%s", str);
		int i=0;
		while(str[i] != '\0') {
			printf("%c", str[i]);
			i++;
			if(i % 8 == 0) {
				printf("\n");
			}
		}
		if((i-1) % 8 != 0){
			for(int j =0; j<(8-i+1)%8;j++)
				printf("0");
		}
		printf("\n");
	}
	
	return 0;
} 

image.png

小结