将阿拉伯数字转化为中文数字,如12“一十二”
2010-07-24 14:38
357 查看
将阿拉伯数字转化为中文数字,如12à“一十二”
1)考虑不包含0的数字#include<stdio.h>
void main()
{
int m;
int c[10];
int i = 0;
char a[10][3] = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
char b[10][3] = {"", "十", "百", "千", "万", "十", "百", "千", "亿", "十"};
// int型的最大数为2147483647,大于此数程序将输出错误结果
printf("Please input an integer not larger than 21,4748,3647: ");
scanf("%d", &m);
while(m)
{
c[i++] = m % 10;
m /= 10;
}
i--;
while(i >= 0)
{
printf("%s%s", a[c[i]],b[i]);
i--;
}
printf("/n");
}
2)考虑0全在右边的情况,如10,000
#include<stdio.h>
void main()
{
int m;
int c[10];
int i = 0;
char a[10][3] = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
char b[10][3] = {"", "十", "百", "千", "万", "十", "百", "千", "亿", "十"};
// int型的最大数为2147483647,大于此数程序将输出错误结果
printf("Please input an integer not larger than 21,4748,3647: ");
scanf("%d", &m);
while(m)
{
c[i++] = m % 10;
m /= 10;
}
i--;
int zeroFlag = 0;
int flag = 0; // flag的作用是保证“万”只被输出一次
while(i >= 0)
{
if(c[i] == 0)
{
// 考虑“亿”和“万”的情况
if(i % 4 == 0 && flag == 1)
{
printf("%s", b[i/4*4]);
flag = 0;
}
zeroFlag = 1;
}
else
{
printf("%s%s", a[c[i]],b[i]);
if(i%4 != 0)
{
flag = 1;
}
else
{
flag = 0;
}
}
i--;
}
printf("/n");
}
3)最后考虑0出现在中间的情况
#include<stdio.h>
void main()
{
int m;
int c[10];
int i = 0;
char a[10][3] = {"零", "一", "二", "三", "四", "五", "六", "七", "八", "九"};
char b[10][3] = {"", "十", "百", "千", "万", "十", "百", "千", "亿", "十"};
// int型的最大数为2147483647,大于此数程序将输出错误结果
printf("Please input an integer not larger than 21,4748,3647: ");
scanf("%d", &m);
while(m)
{
c[i++] = m % 10;
m /= 10;
}
i--;
int zeroFlag = 0;
int flag = 0; // flag的作用是保证“万”只被输出一次
while(i >= 0)
{
if(c[i] == 0)
{
// 考虑“亿”和“万”的情况
if(i % 4 == 0 && flag == 1)
{
printf("%s", b[i/4*4]);
flag = 0;
}
zeroFlag = 1;
}
else
{
if(zeroFlag == 1 && i%4 != 3 )
printf("零%s%s", a[c[i]],b[i]);
else
printf("%s%s", a[c[i]],b[i]);
zeroFlag = 0;
if(i%4 != 0)
flag = 1;
else
flag = 0;
}
i--;
}
printf("/n");
}
相关文章推荐
- 编了一个简单的把阿拉伯数字转化成中文表示的程序,很粗糙,欢迎大家优化!!!
- java代码中将金额阿拉伯数字转化为中文大写
- 阿拉伯数字转化为中文(php最基础的东西)
- 阿拉伯数字和中文金额之间的相互转化
- Vue.js阿拉伯数字转化成人民币的中文
- php中文数字转化成阿拉伯数字
- 阿拉伯数字与中文数字的转换----------相互转化
- 阿拉伯数字与中文数字的转换----------相互转化
- Python将阿拉伯数字转化为中文大写
- 算法——阿拉伯数字转化为中文数字
- java实现将一个键盘输入的阿拉伯数字转化成中文输出
- 银行货币单位阿拉伯数字转化中文大写 eclipse 下C 与java实现 MOOC
- 将中文数字表示的数值转化成阿拉伯数字,如“三亿零六百零七万零九百零六=306070906”
- 将字符串中的中文(英文)字符串转化为阿拉伯数字
- PHP阿拉伯数字转化为中文
- 阿拉伯数字转化为中文大写
- 如何将阿拉伯数字转化为中文
- c++阿拉伯数字转化为中文大写
- iOS 阿拉伯数字转化为中文数字
- 将货币数字(阿拉伯数字)(小写)转化成中文(大写)