將數字轉大寫打印出來(C++)
阿新 • • 發佈:2019-01-04
#include <bits/stdc++.h>
using namespace std;
void g_print(int number)
{
switch(number)
{
case 1:
cout << "一";
break;
case 2:
cout << "二";
break;
case 3:
cout << "三";
break;
case 4:
cout << "四" ;
break;
case 5:
cout << "五";
break;
case 6:
cout << "六";
break;
case 7:
cout << "七";
break;
case 8:
cout << "八";
break;
case 9:
cout << "九";
break;
}
}
void s_print(int number)
{
int s = number / 10;
int g = number % 10;
if(number > 9)
{
g_print(s);
cout << "十";
g_print(g);
}else if( number < 10 && number > 0 )
{
cout << "零";
g_print(g);
}else{
g_print(g);
}
}
void b_print(int number)
{
int b = number / 100;
int s = number % 100;
if(number > 99)
{
g_print(b);
cout << "百";
s_print(s);
}else if(number < 100 && number >= 10 )
{
cout << "零";
s_print(s);
}else{
s_print(s);
}
}
void q_print(int number)
{
int q = number / 1000;
int b = number % 1000;
if(number > 999)
{
g_print(q);
cout << "千";
b_print(b);
}
else if(number < 1000 && number >= 100)
{
cout << "零";
b_print(b);
}else{
b_print(b);
}
}
void w_print(int number)
{
int w = number / 10000;
int q = number % 10000;
if(number > 9999)
{
if(w < 10 && w > 0) g_print(w);
else if(w < 100 && w > 9) s_print(w);
else if(w <1000 && w > 99) b_print(w);
else if(w < 10000 && w > 999) q_print(w);
cout << "萬";
}
q_print(q);
}
void y_print(int number)
{
int y = number / 100000000;
int w = number % 100000000;
if(number > 99999999)
{
if(y < 10 && y > 0) g_print(y);
else if(y < 100 && y > 9) s_print(y);
else if(y <1000 && y > 99) b_print(y);
else if(y < 10000 && y > 999) q_print(y);
else if(y < 100000000 && y > 9999) w_print(y);
cout << "億";
}
w_print(w);
}
void print(int number)
{
if(number == 0) cout << "零";
else if(number < 10 && number > 0) g_print(number);
else if(number < 100 && number > 9) s_print(number);
else if(number <1000 && number > 99) b_print(number);
else if(number < 10000 && number > 999) q_print(number);
else if(number < 100000000 && number > 9999)w_print(number);
else y_print(number);
}
int main()
{
for(int i = 999999999 ; i < 1000000001 ; i++)
{
print(i);
cout <<"元"<< " ";
}
}