题目描述:
输入m个字符和一个整数n,把字符串M化成以N为单位的段,不足的位数用0补齐。
示例:
输入:123456789
8
输出:12345678
90000000
输入:123
8
输出:12300000
代码:
#include <iostream>
#define MAX 1000
using namespace std;
int main()
{
char str[MAX];
cin.getline(str, MAX);
int n;
cin >> n;
int len = strlen(str);
int i,j,k;
int count = (len / n)*n;
for (i = 0; i<count; i++)
{
cout << str[i];
if ((i + 1) % n == 0)
cout << endl;
}
if (len%n != 0)
{
j = len%n;
k = len / n;
for (i = 0; i<n; i++)
{
if (i<j)
cout << str[i + k*n];
else
cout << '0';
}
}
cin.get();
cin.get();
return 0;
}
参考代码:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
getline(cin, str);
int n;
cin >> n;
int len = str.size();
int i;
for (i = 0; i<len; i++)
{
cout << str[i];
if ((i + 1) % n == 0)
cout << endl;
}
int yushu = len%n;
if (yushu)
{
for (i = yushu; i<n; i++)
{
cout << '0';
}
cout << endl;
}
return 0;
}