7-1 幣值轉換 (20 分)
輸入一個整數(位數不超過9位)代表一個人民幣值(單位為元),請轉換成財務要求的大寫中文格式。如23108元,轉換后變成“貳萬叄仟壹百零捌”元。為了簡化輸出,用小寫英文字母a-j順序代表大寫數字0-9,用S、B、Q、W、Y分別代表拾、百、仟、萬、億。於是23108元應被轉換輸出為“cWdQbBai”元。
輸入格式:
輸入在一行中給出一個不超過9位的非負整數。
輸出格式:
在一行中輸出轉換后的結果。注意“零”的用法必須符合中文習慣。
輸入樣例1:
813227345
輸出樣例1:
iYbQdBcScWhQdBeSf
輸入樣例2:
6900
輸出樣例2:
gQjB
流程圖
實驗代碼
#include<stdio.h>
#include<math.h>
int main()
{
int i=-1,x,y,z,m,n,h,l,a;
char c='a';
scanf("%d",&x);
y=x;
if(x==0)
{
printf("a");
}
do
{
x=x/10;
i++;
}
while(x!=0);
do
{
if(i>=4)
{
h=y/10000;
l=i-4;
}
if(i<4)
{
h=y;
l=i;
}
a=pow(10,l);
m=pow(10,i);
z=y/m;
if(z==0&&z!=n&&h%a!=0)
{
printf("a");
}
if(z!=0)
{
printf("%c",c+z);
if(i==8){
printf("Y");
}
if(i==7||i==3)
printf("Q");
if(i==6||i==2)
{
printf("B");
}
if(i==5||i==1)
{
printf("S");
}
if(i==4)
{
printf("W");
}
}
if(i==4&&z==0)
{
printf("W");
}
if(n==0&&i==3&&z==0)
{
printf("a");
}
y=y%m;
i--;
n=z;
}
while(y!=0);
return 0;
}
實驗步驟
利用數學函數 include<math.h> 然后定義整型變量和字符變量 接着是判斷輸入的值, 然后利用除余的方式,整理出每一位數字,然后進行判斷,最后輸出結果!