📄 no.18.c
字号:
#include "stdio.h"
#include "conio.h"
void printNum(int val)
{
switch (val) {
case 1: printf("壹");
break;
case 2: printf("贰");
break;
case 3: printf("叁");
break;
case 4: printf("肆");
break;
case 5: printf("伍");
break;
case 6: printf("陆");
break;
case 7: printf("柒");
break;
case 8: printf("捌");
break;
case 9: printf("玖");
break;
};
}
void printPos(int pos)
{
switch (pos) {
case -2: printf("离");
break;
case -1: printf("分");
break;
case 0: printf("角");
break;
case 1: printf("元");
break;
case 2: printf("十");
break;
case 3: printf("百");
break;
case 4: printf("千");
break;
case 5: printf("万");
break;
};
}
int numLong(int x)
{
int n = 0;
while (x) {
x = x / 10;
++n;
}
return n;
}
void exchange (double x)
{
double temp;
int intPart;
int preval;
int val = 1, j;
int in = 1, pos;
intPart = (int)x;
pos = numLong(x);
for (j = 1; j < pos; j++) in = in * 10;
while( in ) {
preval = val;
val = intPart / in;
intPart = intPart % in;
in = in / 10;
if ( preval == 0 && val != 0 ) printf("零");
if ( val != 0 ) {
printNum(val);
printPos(pos);
}
--pos;
}
temp = x - (int)x;
while (temp - (int)temp > 10e-6) {
temp = temp * 10;
val = (int)temp % 10;
if (val) {
printNum(val);
printPos(pos);
}
--pos;
}
printf("整");
}
int main()
{
exchange(12345.67);
getch();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -