Tabla de contenido
Preguntas sobre PAT Brush Nivel B 1006 (cpp)
Descripción del Título
Usemos la letra B para representar "cien", la letra S para representar "diez", y usemos 12 ... n para representar los dígitos n (<10) distintos de cero, cambie el formato para generar cualquier número entero positivo que no exceda los 3 dígitos . Por ejemplo, 234 debería aparecer como BBSSS1234 porque tiene 2 "centenas", 3 "decenas" y 4 en el lugar de las unidades.
Formato de entrada
Cada entrada de prueba contiene 1 caso de prueba, dando un número entero positivo n (<1000).
Formato de salida
La salida de cada caso de prueba ocupa una línea y produce n en el formato prescrito.
Ejemplo de entrada 1
234
Salida de muestra 1
BBSSS1234
Ejemplo de entrada 2
23
Salida de muestra 2
SS123
análisis del problema
El contenido de esta pregunta es simple y no difícil de implementar. Solo necesita extraer todos los dígitos del número de entrada y enviarlo. Donde la entrada es un número de no más de tres enteros positivos 而这个数有可能是个位数,也有可能是2位数或者是三位数
. Entonces podemos usar una cadena para extraer directamente los dígitos de cada persona, usar la función de longitud para obtener los dígitos del número de entrada y luego realizar operaciones; también podemos usar el resto para operar, siempre que las condiciones de juicio estén bien controladas.
Código
El código central es el siguiente:
while (num > 0) {
//num是输入的数
if (num >= 100) {
//百位输出B
for (int i = 0; i < num / 100; i++)
cout << "B";
num = num % 100;
}
else if (num < 100 && num >= 10) {
//十位输出S
for (int i = 0; i < num / 10; i++)
cout << "S";
num = num % 10;
}
else {
//各位输出数字
for (int i = 1; i <= num; i++)
cout << i;
num = num % 1;
}
}
El código completo se implementa de la siguiente manera: el
código está aquí ~