• 货币


    输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式。如23108元,转换后变成“贰万叁仟壹百零捌”元。为了简化输出,用小写英文字母a-j顺序代表大写数字0-9,用S、B、Q、W、Y分别代表拾、百、仟、万、亿。于是23108元应被转换输出为“cWdQbBai”元。

    输入格式:

    输入在一行中给出一个不超过9位的非负整数。

    输出格式:

    在一行中输出转换后的结果。注意“零”的用法必须符合中文习惯。

    输入样例1:

    813227345

    输出样例1:

    iYbQdBcScWhQdBeSf

    输入样例2:

    6900

    输出样例2:

    gQjB

    include

    using namespace std;

    int main(){

    char num[10] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'};
    
    int n, temp, flag = 0;
    
    int k = 100000000;
    
    cin >> n; 
    
    if(n == 0){
    
    	cout << 'a';
    
    	return 0;
    
    }
    
    //判断万位到千万位是否为零
    
    if(n - (n % 10000) - (n / k) * k == 0) flag = 1; 
    
    //找到最高位
    
    while(n > 0){		 
    
    	if(n / k > 0) break;
    
    	else k /= 10;
    
    }	
    
    while(n > 0){
    
    	temp = n / k;
    
    	if(temp == 0){
    
    		//下一位若非零,则输出 
    
    		if((n - temp * k) / (k / 10) != 0) cout << 'a';
    
    	}
    
    	else{
    
    		cout << num[temp];
    
    		if(k == 100000 || k == 10) cout << 'S';
    
    		else if(k == 1000000 || k == 100) cout << 'B';
    
    		else if(k == 10000000 || k == 1000) cout << 'Q';			
    
    	}
    
    	if(k == 10000 && !flag) cout << 'W';
    
    	else if(k == 100000000) cout << 'Y';
    
    	n -= temp * k;
    
    	k /= 10;
    
    }
    

    }

  • 相关阅读:
    自己常用的数据库操作语句
    我被SQL注入撞了一下腰
    分页
    reset.css
    创建对象的多种方式
    js 数组去重
    学习JS防抖【节流】
    localStorage.js
    vue 项目移动端使用淘宝自适应插件 环境配置
    Vue项目搭建
  • 原文地址:https://www.cnblogs.com/c11c11cyy/p/10409567.html
Copyright © 2020-2023  润新知