[B] PAT escribir este número

Descripción Asunto:

Lee un entero positivo n, para calcular la suma de los dígitos, cada dígito y escribir Pinyin.

Formatos de entrada:

Cada prueba comprende una entrada de prueba, es decir, dado el valor del número natural n. Cuando n es menor que 10 ^ 100 garantizada.

Los formatos de salida:

Todas las habitaciones, Pinyin salida digital n consecutivo la suma de los dígitos del 1 espacios, pero después de la última fila de Pinyin digitales sin espacios.

de entrada de la muestra:

1234567890987654321123456789

Resultado de muestra:

yi san wu

Ideas de resolución de problemas:

Los números grandes, la cadena de entrada, la circulación de la suma de la suma digital, el dígito suma insertan en la pila, la pila se convierte en un pop digital de Pinyin, formato de salida de la atención 最后的空格.

código:

#include<iostream>
#include<string>
#include<stack>
using namespace std;
void conversion(int n) {
	switch(n) {
		case 0: cout<<"ling";break;
        case 1: cout<<"yi";break;
        case 2: cout<<"er";break;
        case 3: cout<<"san";break;
        case 4: cout<<"si";break;
        case 5: cout<< "wu";break;
        case 6: cout<<"liu";break;
        case 7: cout<<"qi";break;
        case 8: cout<<"ba";break;
        case 9: cout<<"jiu";break;
        default : break;
	}
}
int main() {
	string s;
	cin>>s;
	stack<int> s2;
	int sum=0;
	for(int i=0;i<s.length();i++) {
		sum+=s[i]-'0';
	}
	while(sum) {
		s2.push(sum%10);
        sum/=10;
	}
	int t = s2.size();
    while(--t) {
        conversion(s2.top());
        s2.pop();
        cout<<" ";
    }
	conversion(s2.top());
	return 0;
} 
Publicado 55 artículos originales · alabanza ganado 30 · vistas 9813

Supongo que te gusta

Origin blog.csdn.net/chaifang0620/article/details/104868944
Recomendado
Clasificación