7-168 币值转换 (20 分)

简介: 7-168 币值转换 (20 分)

7-168 币值转换 (20 分)


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


输入格式:


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


输出格式:


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


输入样例1:


813227345



输出样例1:


iYbQdBcScWhQdBeSf


输入样例2:


6900


输出样例2:


gQjB



#include<iostream>
//①从count开始后缀为0,不发声(但要警惕类似130/0000的,不要忘记补上“万”)
//②0只发零不带权值
//③中间连续的0只发一个音
//④不要忘记最小的个位数0
using namespace std;
int main (void){
    int n;
    cin>>n;
    if(n==0){
        cout<<'a';
        return 0;
    }
    int s[9];
    for(int i=0;i<9;i++)s[i]=-1;//数组统一赋初值
    int flag=1;//标记末尾的0
    int count=8;
    //放入数组
    for(int i=8;n;i--){
        s[i]=n%10;
        if(s[i]!=0&&flag==1){count=i;flag=0;}//从后往前第一次出现不是0的位
        n=n/10;
    }
    int flag0=1;//检测是否有多个0
    for(int i=0;i<=count;i++){
        if(s[i]==-1)continue;
        else if(s[i]==0&&i==4&&(s[1]>0||s[2]>0||s[3]>0)){cout<<'W';continue;}
        //是0的情况,且是万位,而且不是类似100000001的情况,此时不发0只发W
        switch(s[i]){
            case 0:if(flag0)cout<<'a';break;
            case 1:cout<<'b';break;
            case 2:cout<<'c';break;
            case 3:cout<<'d';break;
            case 4:cout<<'e';break;
            case 5:cout<<'f';break;
            case 6:cout<<'g';break;
            case 7:cout<<'h';break;
            case 8:cout<<'i';break;
            case 9:cout<<'j';break;
            default:break;
        }
        if(s[i]!=0)//零处除了万其他时候权值不发音
            switch(i){
                case 0:cout<<'Y';break;
                case 1:cout<<'Q';break;
                case 2:cout<<'B';break;
                case 3:cout<<'S';break;
                case 4:cout<<'W';break;
                case 5:cout<<'Q';break;
                case 6:cout<<'B';break;
                case 7:cout<<'S';break;
                default:break;
            }else if(s[i]==0)flag0=0;//如果这次是0,那么下次遇到零就不发音
    }if(count>0&&count<4)cout<<'W';//最后给因为后缀是0而忽略万的数补上W
}
目录
相关文章
|
11月前
|
人工智能 算法 数据安全/隐私保护
基于文档智能和百炼平台的RAG应用-部署实践有感
本文对《文档智能 & RAG让AI大模型更懂业务》解决方案进行了详细测评,涵盖实践原理理解、部署体验、LLM知识库优势及改进空间、适用业务场景等方面。测评指出,该方案在提升AI大模型对特定业务领域的理解和应用能力方面表现突出,但需在技术细节描述、知识库维护、多语言支持、性能优化及数据安全等方面进一步完善。
463 1
|
4月前
|
PyTorch API 算法框架/工具
DeepSeek 部署方式与技术实践
DeepSeek的部署灵活性使其在多个领域大放异彩,但需根据场景权衡性能、成本与安全性。随着工具生态的完善与行业方案的沉淀,2025年将成为AI大模型落地关键年。开发者应持续关注MoE、COT等技术创新,结合自身需求选择最优部署策略。
279 1
|
测试技术 Docker 容器
使用Docker构建多环境应用:开发、测试、生产环境
Docker已经成为了现代应用程序开发和部署的核心工具之一。通过使用Docker,开发团队可以轻松地在不同的环境中构建、测试和部署应用程序,从而提高开发速度和应用程序的可移植性。本文将介绍如何使用Docker构建多环境应用,包括开发、测试和生产环境,并提供丰富的示例代码,以帮助大家轻松应对不同环境的挑战。
|
9月前
|
开发框架 小程序 IDE
鸿蒙原生开发手记:05-开发之外的那些事
鸿蒙原生开发手记:05-开发之外的那些事
291 10
|
7月前
|
存储 人工智能 关系型数据库
HiveChat:告别模型选择困难!开源ChatGPT聚合神器上线:一键切换10+模型,权限管控全免费
HiveChat 是一款专为中小团队设计的开源 AI 聊天应用,支持多种主流 AI 模型,提供高效的团队沟通和智能辅助功能。
232 9
HiveChat:告别模型选择困难!开源ChatGPT聚合神器上线:一键切换10+模型,权限管控全免费
|
11月前
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
771 2
|
9月前
|
数据采集 人工智能 自然语言处理
基于OpenLake的大模型训练及RAG应用
本文介绍了OpenLake在大数据与AI融合方面的应用,重点探讨了如何通过OpenLake打通数据到应用的各个环节。首先,阐述了自然语言处理(NLP)从非结构化数据向结构化数据的转变,并强调了高质量数据对AI模型训练的重要性。接着,详细介绍了OpenLake+PAI平台如何实现大数据与AI的一体化开发,包括数据预处理、多模态数据管理、智能标注及优化推理效率等。最后,结合OpenSearch,展示了RAG(检索增强生成)技术在企业级应用中的挑战与解决方案,如构建稳定高效的检索系统,确保数据安全与准确性。整体方案旨在提升AI模型的效果和安全性,推动各行业的智能化转型。
|
JavaScript 数据可视化
JS如何优雅的实现模块自动滚动展示
【8月更文挑战第22天】JS如何优雅的实现模块自动滚动展示
215 1
JS如何优雅的实现模块自动滚动展示
|
10月前
|
Kubernetes Cloud Native 云计算
深度挖掘:云计算平台在数字化转型中的核心作用
【10月更文挑战第29天】作为一名技术博主,我深入探讨了云计算平台在数字化转型中的核心作用。本文分析了云计算的弹性、可扩展性和高可用性如何帮助企业快速适应市场变化,降低成本并提高效率。同时,文章介绍了云计算在创新加速、业务连续性和灾难恢复方面的优势,并通过实际案例展示了其在企业数字化转型中的应用。
295 0
|
存储 设计模式 Java
Java8 CompletableFuture异步编程-入门篇
Java8 CompletableFuture异步编程-入门篇

热门文章

最新文章