在一行上输入一个长度
,由小写字母和数字混合构成的字符串
。
输出若干行,每行输出
个字符,代表按题意书写的结果。
hellonowcoder
hellonow coder000
在这个样例中,字符串长度为
,因此需要在第二行末尾补充
个
。
0
00000000
#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; }
#include <stdio.h> #include <string.h> int main() { char s[101]; int j; int count = 0; scanf("%s", s); int len = strlen(s); for (int i = 1; i <= len / 8 + 1; i++) { count = 0; for ( j = 7 * (i - 1); j <= 7 * i; j++) { printf("%c", s[j]); if (s[j]=='\0') { break; } count++; } if (count != 8) { for (int q = count; q < 8; q++) printf("0"); } printf("\n"); } return 0; }w为啥本地ide是对的 然后 网站是错的啊
#include <stdio.h> #include <string.h> int main(){ char str[100]; char str1[8]; while(scanf("%8s",&str)!=EOF) { printf("%s\n",str); strcpy(str1,str); memset(str,'0',8); memmove(str,str1,strlen(str1));//如果是100的放在8的头上有问题 printf("%s\n",str); } }各位大佬,我这个大于等于8的字符串的时候就报错,为什么呀?
#include <stdio.h> #include <string.h> int main() { char str[101] = {0}, *p; fgets(str, 101, stdin); if (strlen(str) < 100) { str[strlen(str) - 1] = '\0'; } int i = 1; p = str; while (*p) { if (i == 9) { printf("\n"); i = 1; } printf("%c", *p); i++; *p++; } for (i ; i <= 8 ; i++) printf("0"); return 0; }