华为校招2016.09第1题_极客玩家大白

第1题: 字符串按指定长度重新分割

描述: 输入M个字符串,请按指定长度N拆分每个字符串,输出新的字符串。长度不是N整数倍的字符串请在后面补数字0。
运行时间限制: 无限制
内存限制: 无限制
输入: 输入整数M,N;以英文逗号分隔。每行一个字符串,共M个字符串,每行字符串小于50个字符
输出: 按指定长度N拆分每个字符串,输出拆分后字符串
样例输入: 2,8abc123456789
样例输出: abc000001234567890000000

已AC代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include<cstdio>
using namespace std;
void myputs(char* s,int n){
	int k;
	for (k = 0; s[k] != '\0'; k++){
		if (k > 0 && k % n == 0)puts("");
		putchar(s[k]);
	}
	k %= n;
	if (k){
		for (; k < n; k++)
			putchar('0');
	}
	puts("");
}

int main(){
	int m, n;
	scanf("%d%*c%d\n", &m, &n);   // 忽略分隔字符...
	char s[1000];
	for (int k = 0; k < m; k++){
		gets(s);
		myputs(s, n);
	}
}

100分

版权声明


一个有故事的程序员

(转载本站文章请注明作者和出处 极客玩家大白

点击了解 :.NET技术人的网站


Show Disqus Comments

Post Directory