描述
•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;
•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。
输入描述:
连续输入字符串(每个字符串长度小于等于100)
输出描述:
依次输出所有分割后的长度为8的新字符串
示例1
输入:
abc
输出:
abc00000
代码:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char str[100];
int n;
int i=0,j=0;
int zero;
int len;
int m;
gets(str);
len = strlen(str);
n = len/8;
m = len%8;
for(i=0;i<n;i++) {
for(j=i*8;j<(i+1)*8;j++) {
printf("%c",str[j]);
}
printf("\n");
}
if(m==0) return 0;
zero = 8 - m;
for(;m--;) {
printf("%c",str[j]);
j++;
}
for(;zero--;) {
printf("0");
}
if(m!=0)
printf("\n");
}
首先读入字符串,并计算出字符串的长度len;
根据求出 有几组8长度的字符需要输出(n),以及不足8长度的字符串的长度(m);
先看n:
假设有2组8长度的字符:
第一组 每个元素的下标:0-7
第二个元素的下标:8-15
我们可以总结出规律:i*8 ~ (i+1)*8-1
得出这个规律后就很容易写出第一个循环体
对于剩余字符串的处理也比较简单:
m表示字符长度,用8-m就是需要输出0的个数;
该博客介绍了如何将输入的字符串按每8个字符进行分割,对于不足8个字符的部分,用0填充。提供的代码示例展示了实现这一功能的方法,适用于处理长度小于等于100的字符串。
1997

被折叠的 条评论
为什么被折叠?



