日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

蓝桥杯 人民币金额大写 格式转换

發(fā)布時間:2023/12/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蓝桥杯 人民币金额大写 格式转换 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在與財務相關的應用中,經常會用到人民幣金額的大寫,比如發(fā)票的打印程序。
本題的任務是:從鍵盤輸入一個十億以內的正整數(int類型),把它轉換為人民幣金額大寫(不考慮用戶輸入錯誤的情況)。
比如,用戶輸入:35201,程序輸出:叁萬伍仟貳佰零壹
用戶輸入:30201,程序輸出:叁萬零貳佰零壹
用戶輸入:30001,程序輸出:叁萬零壹
用戶輸入:31000,程序輸出:叁萬壹仟
用戶輸入:120023201,程序輸出:壹億貳仟零貳萬叁仟貳佰零壹
用戶輸入:120020001,程序輸出:壹億貳仟零貳萬零壹
用戶輸入:100000001,程序輸出:壹億零壹
可以看到,在萬后滿千位,則不加零,否則要補零,但不要出現類似“零零”的情況。

在億后滿千萬位,則不加零,否則要補零,但整個“萬檔”沒有數字時,“萬”字省去。


剛看到題目的時候,我甚至直接想放棄,因為連我自己都不知道到底應該怎么念,高考語文不及格的說,不過,已經是最后一道了,如果不做出來會很糾結。。。


其實,這道題并沒有想象的那么復雜,我在百度上看到了很多轉換軟件,我不知道他們的算法,這里,我講一下我的算法,并沒有參考任何資料,如有雷同,純屬巧合


一、將每一位數字連數值帶數量級原原本本的記錄下來,當然,如果是0,那么它的數量級在任何情況下都是不需要輸出的,比如120020300,直接輸出

壹億貳仟萬零零貳萬零叁佰零零

二、現在看起來好像有那么點味道,不過還是很奇怪,哪里不對呢?首先,最后那兩個“零”是不應該輸出的,總結一下,就是從后往前數,直到遇到第一個不為0的數n=3,n之后的0全都是多余的,知道了這一點,我們首先用一個循環(huán)將那兩個“零”刪掉,可以定義一個flag標志位,將不需要輸出的數位標志位false。


三、經過第二步,結果已經變?yōu)?span style="color:rgb(51,204,0); font-size:24px">壹億貳仟萬零零貳萬零叁佰,貌似還是有很多零,可以發(fā)現,那些有零的位置實際上真的需要輸出0,只不過太多了,那好辦,保留一個,其余的刪掉。


四、現在,結果已經變?yōu)?span style="font-size:24px; color:rgb(51,204,0)">壹億貳仟萬零貳萬零叁佰,你可能已經發(fā)現了“萬”字貌似有多余的,這里,我們需要考慮兩種情況:1.需要輸出“萬”字,那么萬位,十萬位,百萬位,千萬位至少有一個不為0,我們只保留最后一個,其余的刪掉;2.如果那些位上全是0,說明不需要輸出“萬”字,直接全部刪掉就好了。


五、然后就可以輸出了,看起來很高大上哈。


#include<iostream> #include<string> #include<cstring> #include<stdio.h> #include<memory.h> using namespace std;string uper1[10]={"零","壹","貳","叁","肆","伍","陸","柒","捌","玖"};//從0到9十個數字的大寫 string uper2[8]={"拾","佰","仟","萬","拾萬","佰萬","仟萬","億"};//各種數量級的大寫 int main() {char num[15];//用戶輸入的數據 int i,j,p=0;//p是一個指針,因為漢字沒法存到一個字符當中,所以開辟了一個string[],每個漢字是一個字符串 string result[20];//保存最終結果的數組 cin>>num;int len=strlen(num);//獲取輸入的數字的長度 for(i=0;i<len;i++)//初步處理, 直接把每一個數字表示出來,比如10200500,直接輸出 壹仟萬零貳拾萬零零伍佰零零{ //說白了就是直接輸出每個數字的值加上數量級,注意如果一個數字是0,不需要輸出它的數量級 result[p++]=uper1[(int)(num[i]-'0')];if(num[i]!='0'&&len-i-2>=0)result[p++]=uper2[len-i-2];}len=p;//保存預處理之后的結果的長度 for(i=0;i<len;i++){cout<<result[i];}cout<<endl;bool *flag=new bool[len];//給每一位數定義一個標志位,true就輸出,false就不輸出for(i=0;i<len;i++)//初始化flag flag[i]=true;for(i=len-1;i>=0&&result[i]=="零";i--)//針對1234000這種最后一位是0并且可能有連續(xù)多個0的情況,這時候只讀從后往前數 flag[i]=false; //第一個不為0的數和它的數量級,就是4千 for(;i>0;i--)//經過了上一步后,只是去除了尾部的連續(xù)多個0,現在要從上一步停止的地方繼續(xù),掃描是否有連續(xù)多個 { //0的存在,如果有,只保留一個 if(result[i]=="零"&&result[i-1]=="零")flag[i]=false;}if(num[4]!='0'||num[5]!='0'||num[6]!='0'||num[7]!='0')//如果萬位,十萬位,百萬位,千萬位有一個不是0,那么這個萬字肯定要讀 { //所以就從后往前數,保留第一個萬字,其余的都刪掉 for(i=len-1;i>=0&&result[i]!="萬";i--){}for(i=i-1;i>=0;i--){if(result[i]=="萬")flag[i]=false;if(result[i]=="拾萬")result[i]="拾";if(result[i]=="佰萬")result[i]="佰";if(result[i]=="仟萬")result[i]="仟";}}else//如果不需要讀萬字,那就把所有的萬字都刪掉 {for(i=len-1;i>=0;i--)if(result[i]=="萬")flag[i]=false;if(result[i]=="拾萬")result[i]="拾";if(result[i]=="佰萬")result[i]="佰";if(result[i]=="仟萬")result[i]="仟";}for(i=0;i<len;i++)//可以輸出了 {if(flag[i])cout<<result[i];}cout<<endl;return 0; }


總結

以上是生活随笔為你收集整理的蓝桥杯 人民币金额大写 格式转换的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产日韩视频在线观看 | 91伊人网| www插插插无码免费视频网站 | 久久久99精品国产一区二区三区 | 国产精品伦一区二区 | 人体裸体bbbbb欣赏 | 亚洲精品国产视频 | 国产精品久久久不卡 | 狠狠干夜夜干 | 美女黄色小视频 | 欧美毛片在线观看 | 黑人精品一区二区三区不 | 日韩有码专区 | 欧美成人自拍视频 | 中文字幕一区二区三区波野结 | 女同在线视频 | 91精品福利 | 中文字幕无码乱码人妻日韩精品 | 国产性生活一级片 | 久久av资源网 | 亚洲激情视频网站 | 日韩亚洲一区二区 | 成人av综合 | 亚洲精品国产免费 | 人妻一区二区视频 | 成人h动漫在线 | 成年激情网 | 深夜免费在线视频 | 欧美一区二区公司 | 中文在线8资源库 | www五月 | 日韩欧美一区二区三区四区五区 | 亚洲国产大片 | 色a在线 | 欧美日韩二区三区 | 91精品91久久久中77777 | 久久综合第一页 | 久久国产香蕉视频 | 天堂资源站 | 伊人久久色| 中文字幕第7页 | 九九久久99 | 欧美成人三级伦在线观看 | 少妇情理伦片丰满午夜在线观看 | 狠狠干狠狠干 | 聚色屋| 久久免费少妇高潮久久精品99 | 97操| 国产人妖ts重口系列网站观看 | 久久久免费毛片 | 国产欧美日韩精品一区二区三区 | 国产传媒av在线 | 亚洲人成网站999久久久综合 | 亚洲成人一二三 | 亚洲国产精品无码专区 | a色网站| 欧洲成人av | 夜夜爽av | 晨勃顶到尿h1v1 | 国产精品视频免费在线观看 | 18久久久 | 国产精品第九页 | 天堂网在线观看视频 | 精品人妻一区二区色欲产成人 | 涩涩视频在线看 | 嫩草伊人久久精品少妇av | 日韩色视频在线观看 | 亚洲码欧美码一区二区三区 | 日日夜夜拍 | 性毛片| 丰满人妻综合一区二区三区 | 特黄a级片 | 欧美一区二区三区四区五区六区 | 浪潮av网站| 中文字幕永久在线 | 国产亚洲自拍一区 | 欧美少妇色图 | 成年人在线观看视频免费 | 少妇高潮一区二区三区99 | 加勒比一区二区三区 | 免费人成在线观看 | 国产伦精品一区二区三区网站 | 国产精品一区久久久 | 久久久久久影院 | 欧美日韩女优 | 三级国产视频 | 日韩欧美片 | 日本乱淫视频 | 亚洲AV无码一区二区三区蜜桃 | 欧美1| 中文天堂网 | 久久综合亚洲色hezyo国产 | 五十路在线 | a天堂在线观看视频 | 日韩在线第一区 | 伊人成年网| 国产情侣一区二区 | 国产第一页在线 | www一区二区三区 |