day 08

题目描述

•输入一个字符串,请按长度为8拆分每个输入字符串并进行输出;

•长度不是8整数倍的字符串请在后面补数字0,空字符串不处理。

题目来源

具体题目

输入描述

连续输入字符串(每个字符串长度小于等于100)。

输出描述

依次输出所有分割后的长度为8的新字符串

示例

输入:abc
输出:abc00000

思路

首先获取字符串长度,定义一个变量,以8的倍数增长,即把字符串按8的倍数划分为组,对其输出,每组输出完后加换行符,再将最后一组进行判断,若其不满足8的倍数,令其后面补0,本题我用的解法相对暴力。

具体实现

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
	int i;
	char a[100];
	gets(a);
	int len = strlen(a);
	for (i = 0; i < len / 8; i++)
	{
		for (int k = 8 * i; k < 8 * (i + 1); k++)
		{
			if (a[k] != 0)
				printf("%c", a[k]);

		}
		printf("\n");
	}
	if (i == len / 8 && 8 * i < len)
	{
		int m;
		for ( m = 8 * i; m < len; m++)
			printf("%c", a[m]);
		if (len < 8 * (i + 1))
		{
			while (m%8!=0)
			{
				printf("0");
				m++;
			}
		}
		printf("\n");
	}

}

时间复杂度

O(n)

小结

按部就班慢慢做,思路不算太难。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值