PATB1006:数字转换成bit[ ]的数组
【思路】:
bit[count++],获取数的每个位 数—数组,count
4 3 2 这样的数组打印需要逆序输出
【知识点】
bit[count++],获取数的每个位 数—数组,count
while (n>0) { bit[count++] = n % 10; n /= 10; }
4 3 2 这样的数组打印需要逆序输出
for (int i = count-1; i >=0 ; i--)//反向循环趟数 { if (i==2)//得到的是一个倒置的数组 4 3 2 打印高位 { for (int j = 0; j < bit[i]; j++) { cout << "B"; } } }
【参考答案】
//数字转换成 bit[]数组常用解法
void B1006(){
int n;
int bit[5] = { 0 };
int count = 0;
cin >> n;
while (n>0)
{
bit[count++] = n % 10;
n /= 10;
}
for (int i = count-1; i >=0 ; i--)//反向循环趟数
{
if (i==2)//得到的是一个倒置的数组 4 3 2 打印高位
{
for (int j = 0; j < bit[i]; j++)
{
cout << "B";
}
}
if (i == 1)//得到的是一个倒置的数组 4 3 2 打印高位
{
for (int j = 0; j < bit[i]; j++)
{
cout << "S";
}
}
if (i == 0)//得到的是一个倒置的数组 4 3 2 打印高位
{
for (int j = 1; j <= bit[i]; j++)
{
cout << j;
}
}
}
}