题目:分解字符串
输入两个数M,N;M代表输入M个字符串,N代表输出的每串字符串的位数,不够补0.
例子:输入 2 8, “abc”,”123456789”
输出为:”abc00000”,”12345678”,”90000000”
#include<iostream>
using namespace std;
//处理一个字符串
void solve(char* str, int n, int len)
{
//循环一次处理n个字符
for(int i=0; i<len; i=i+n)
{
if(len<n+i) //当前长度不足n位
{
int k=n-(len-i);
for(int j=i; j<len; j++)//输出剩余字符串
{
printf("%c",str[j]);
}
for(int j=0; j<k; j++)
{
putchar('0');
}
}
else //满足n位
{
for(int j=i; j<i+n; j++)
{
printf("%c",str[j]);
}
//putchar(' ');
}
printf("\n");
}
}
int main()
{
int m,n; //m个字符串
while( (scanf("%d %d",&m, &n))!=EOF )
{
//每个字符串循环处理
for(int i=0; i<m; i++)
{
char str[1000];
scanf("%s",str);
int lenth=strlen(str);
solve(str,n,lenth);
}
}
return 0;
}