描述
•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(每个字符串长度小于等于100)
输出描述:
依次输出所有分割后的长度为8的新字符串
示例1
输入:
abc
输出:
abc00000
思路
字符串8个一组,先判断可以分隔为几组字符串,完整的组直接输出,不完整的组补零后输出
具体实现
#include <stdio.h>
#include <string.h>
int main() {
int i, j, k, n;
char str[100] = {0};
gets(str);
if (strlen(str) % 8 == 0)
k = 0;
else
k = 8 - strlen(str) % 8; //需要补充零的个数
n = strlen(str) / 8; //组数
if (str[0] == ' ')
return 0;
if (n > 0) { //字符串长度大于8时
for (i = 0; i < n; i++) { //整组输出
for (j = 0; j < 8; j++)
printf("%c", str[i * 8 + j]);
printf("\n");
}
for (i = 0; i < strlen(str) - 8 * n; i++) {
printf("%c", str[8 * n + i]);
}
for (i = 0; i < k; i++) {
printf("0");
}
} else { //字符串长度小于8时
for (i = 0; i < strlen(str) - 8 * n; i++) {
printf("%c", str[8 * n + i]);
}
for (i = 0; i < k; i++)
printf("0");
}
return 0;
}
时间复杂度
O(1)