题解 | #字符串分隔#
字符串分隔
http://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7
暴力解决
#include <stdio.h>
#include <string.h>
int main()
{
int len;
int num; // 存储字符串按8为单位的个数
int rem; // 存储字符串最后剩的余数
int i;
char str[100] = {0}; // 接收输入数据
char temp[9]; // 用来临时存储
while (scanf("%s", str) != EOF) {
len = strlen(str);
if (len < 9) {
for (i = len; i < 8; i++) {
str[i] = '0';
}
str[8] = '\0';
printf("%s\n", str);
} else { // 长度大于8有两种情况,有余数和没余数
num = len / 8;
rem = len % 8;
for (i = 0; i < num; i++) { // 先把按8byte为单位的字符串输出
strncpy(temp,str + 8 * i, 8);
temp[8] = '\0';
printf("%s\n", temp);
}
if (rem) { // 有余数则对最后字符处理
strncpy(temp, str + 8 * num, rem);
for (i = rem; i < 8; i++) {
temp[i] = '0';
}
temp[8] = '\0';
printf("%s\n", temp);
}
}
}
return 0;
}