题解 | #字符串分隔#
字符串分隔
https://www.nowcoder.com/practice/d9162298cb5a437aad722fccccaae8a7
#include <stdio.h> #include <stdlib.h> #include <string.h> /* 单字符读入,长度到8则添加\n,不足8则补0 */ #define MAX_LEN 120 int main() { char *str = NULL; int ch = 1; unsigned int cl_num = 0; unsigned int add = 0; int i = 0; str = (char*)malloc(MAX_LEN * sizeof(char)); memset(str, '\0', MAX_LEN); while((ch = getchar()) != '\n') { str[i] = (char)ch; i++; if((i - cl_num) % 8 == 0) { str[i] = '\n'; i++; cl_num++; //对齐添加\n后的字符串 } } if((i - cl_num) % 8 != 0) //最后一个字符串不为8位 { add = (8 - (i - cl_num) % 8) % 8; //要补充的位数 for(int j = 0; j < add; j++) str[i + j] = '0'; } printf("%s", str); free(str); }