-
题目:连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
-
解题思路:判断每次输入的字符串长度是否为8的倍数,若是8的倍数,直接输出就行;若不是8的倍数,则需要补0的个数为8-len%8;
-
注意:gets()和scanf()的区别在于输入的字符串是否中间有空格;对于前者,只有遇到"\n"时才停止输入,而对于后者,出现"\n"或空格都停止输入。
/*
华为在线编程题目:连续输入字符串,请按长度为8拆分每个字符串后输出到新的字符串数组;
解题思路:判断每次输入的字符串长度是否为8的倍数,若是8的倍数
直接输出就行;若不是8的倍数,则需要补0的个数为8-len%8;
注意:
gets()和scanf()的区别在于输入的字符串是否中间有空格;
对于前者,只有遇到"\n"时才停止输入,而对于后者,
出现"\n"或空格都停止输入。
*/
#include<stdio.h>
#include<string.h>
int main()
{
char str[100];
int i,j;
int len,need;
while(gets(str))
{
len=strlen(str);
for(i=0;i<len;i++)
{
if((i+1)%8==0)
{
printf("%c\n",str[i]); //字符串长度为8的倍数,直接换行输出
}
else
printf("%c",str[i]);
}
if(len%8!=0)
{
need=8-len%8; //补0的个数
for(i=0;i<need;i++)
{
printf("0");
}
printf("\n");
}
}
return 0;
}