在一行上输入一个长度
,由小写字母和数字构成的字符串
。
输出若干行,每行输出
个字符,代表按题意书写的结果。
hellonowcoder
hellonow coder000
在这个样例中,字符串长度为
,因此需要在第二行末尾补充
个
。
0
00000000
#include <stdio.h>
#include <string.h>
int main() {
int a, b, str_len = 0;
char str[100];
while (~scanf("%s", str))
{}
str_len = strlen(str);
a = str_len / 8;//除数
b = str_len % 8;//余数
for (int i = 0; i < a; i++) {
for (int j = 8*i; j < (8 * i + 8); j++) {
printf("%c", str[j]);
}
printf("\n");
}
if (b) {
for (int i = 0; i < b; i++) {
printf("%c", str[i + 8 * a]);
}
for (int i = 0; i < (8 - b); i++) {
printf("0");
}
}
return 0;
} #include <stdio.h>
#include <string.h>
int main() {
char str[100]={0};
int i,len,a,wei,l;
scanf("%s",str);
len=strlen(str);
for(i=len/8+1;i!=0;i--)
{ if(i!=1)
{ for(a=0;a!=8;a++){printf("%c",str[wei]);wei++;}
printf("\n");
}
else if(i==1)
{
if(len%8==0)
{
;
}
else{
for(a=0;a!=(len%8);a++){printf("%c",str[wei]);wei++;}
for(a=0;a!=8-(len%8);a++){printf("0");}
printf("\n");}}
}
return 0;
} #include <stdint.h>
#include <stdio.h>
int main() {
int8_t str;
uint32_t cnt = 0,tmp = 0;
do
{
str = getchar();
if(str == '\0' || str == EOF || str == '\n')
{
if(cnt == 0)
break;
for(int i = 0; i < 8 - cnt; i++)
putchar('0');
break;
}
putchar(str);
cnt++;
if(cnt%8 == 0)
{
putchar('\n');
cnt = 0;
}
}while(1);
return 0;
} 可以通过的垃圾代码,循环一遍,一边数一遍边输出
#include <stdio.h>
int main() {
char ch;
char inputStr[102] = {0};
char outputStr[9] = {0};
int count = 0;
fgets(inputStr, sizeof(inputStr), stdin);
int i = 0;
while(inputStr[i] != '\n'){
if(count < 8){
outputStr[count] = inputStr[i];
count++;
}
if(count == 8){
outputStr[count] = '\0';
printf("%s\n", outputStr);
count = 0;
}
i++;
}
if(count < 8 && count > 0){
for(;count < 8; count++){
outputStr[count] = '0';
}
outputStr[count] = '\0';
printf("%s\n", outputStr);
}
return 0;
}
#include <stdio.h>
int main()
{
char buff[128];
while(scanf("%s",buff) != EOF)
{
for(int i=0;i<sizeof(buff);i++)
{
if((i&7)==0 && i!=0)putc('\n',stdout);
if(buff[i])
putc(buff[i],stdout);
else
{
if(i&7)
for(int j=0;j<8-(i&7);j++)
putc('0',stdout);
break;
}
}
}
return 0;
} #include <stdio.h>
#include <string.h>
int main()
{
char str[104];
scanf("%s",str);
int len = strlen(str);
// printf("len=%d\n",len);
if(len==0)
{
return -1;
}
int n = len%8;
// 字符串处理
if(n!=0)
{
for(int i=0;i<8-n;i++)
{
str[len+i] = '0';
}
}
// printf("str=%s\n",str);
// 分割输出
char *p=str;
int count=8;
while(*p!='\0' && count!=0)
{
printf("%c",*p++);
count--;
if(count==0)
{
printf("\n");
count=8;
}
}
return 0;
} #include <stdio.h>
#include <string.h>
int main() {
char str[9] = "";
while (1) {
char tmp[9] = "00000000";
str[sizeof(str) - 1] = '\0';
// 最多获取 8 个输入,超过 8 个的输入下次 scanf 获取
if (scanf("%8s", str) == EOF)
break;
strncpy(tmp, str, strlen(str));
printf("%s\n", tmp);
}
return 0;
}