先找出數值的數量級,再依次印出數量級以上的數字、數量級名字、以及數量級以下的數字。
例:264531
(264531)
(26)萬4531
(2)拾(6)萬4531
貳拾陸萬(4531)
貳拾陸萬(4)仟531
貳拾陸萬肆仟(531)
貳拾陸萬肆仟(5)佰31
貳拾陸萬肆仟伍佰(31)
貳拾陸萬肆仟伍佰(3)拾(1)
貳拾陸萬肆仟伍佰參拾壹
#include <stdio.h>
#define MaxS 5
struct {
char name[4]; int n;
} suffix[MaxS] = {{"拾",10},{"佰",100},{"仟",1000},{"萬",10000},{"億",100000000}};
char chi_num[10][4] = {"零","壹","貳","參","肆","伍","陸","柒","捌","玖"};
void chinese_num(int num)
{
int i;
if( num < suffix[0].n ) {
printf("%s", chi_num[num]);
return;
}
for(i=0; i<MaxS-1; i++)
if(!(num/suffix[i+1].n))
break;
chinese_num(num/suffix[i].n);
printf("%s", suffix[i].name);
if(num %= suffix[i].n) {
if(num < (suffix[i].n/10)) printf("%s", chi_num[0]);
chinese_num(num);
}
}
int main(void)
{
int n;
while(scanf("%d\n", &n) != EOF) {
chinese_num(n);
printf("\n");
}
return 0;
}
先找出數值的數量級,再依次印出數量級以上的數字、數量級名字、以及數量級以下的數字。
例:264531
(264531)
(26)萬4531
(2)拾(6)萬4531
貳拾陸萬(4531)
貳拾陸萬(4)仟531
貳拾陸萬肆仟(531)
貳拾陸萬肆仟(5)佰31
貳拾陸萬肆仟伍佰(31)
貳拾陸萬肆仟伍佰(3)拾(1)
貳拾陸萬肆仟伍佰參拾壹
#include
#define MaxS 5
struct {
char name[4]; int n;
} suffix[MaxS] = {{"拾",10},{"佰",100},{"仟",1000},{"萬",10000},{"億",100000000}};
char chi_num[10][4] = {"零","壹","貳","參","肆","伍","陸","柒","捌","玖"};
void chinese_num(int num)
{
int i;
if( num < suffix[0].n ) {
printf("%s", chi_num[num]);
return;
}
for(i=0; i
if(!(num/suffix[i+1].n))
break;
chinese_num(num/suffix[i].n);
printf("%s", suffix[i].name);
if(num %= suffix[i].n) {
if(num < (suffix[i].n/10)) printf("%s", chi_num[0]);
chinese_num(num);
}
}
int main(void)
{
int n;
while(scanf("%d\n", &n) != EOF) {
chinese_num(n);
printf("\n");
}
return 0;
}
我是一個新手 可以問一下大大 suffix 是什麼東西嗎 -口-
先找出數值的數量級,再依次印出數量級以上的數字、數量級名字、以及數量級以下的數字。
例:264531
(264531)
(26)萬4531
(2)拾(6)萬4531
貳拾陸萬(4531)
貳拾陸萬(4)仟531
貳拾陸萬肆仟(531)
貳拾陸萬肆仟(5)佰31
貳拾陸萬肆仟伍佰(31)
貳拾陸萬肆仟伍佰(3)拾(1)
貳拾陸萬肆仟伍佰參拾壹
#include
#define MaxS 5
struct {
char name[4]; int n;
} suffix[MaxS] = {{"拾",10},{"佰",100},{"仟",1000},{"萬",10000},{"億",100000000}};
char chi_num[10][4] = {"零","壹","貳","參","肆","伍","陸","柒","捌","玖"};
void chinese_num(int num)
{
int i;
if( num < suffix[0].n ) {
printf("%s", chi_num[num]);
return;
}
for(i=0; i
if(!(num/suffix[i+1].n))
break;
chinese_num(num/suffix[i].n);
printf("%s", suffix[i].name);
if(num %= suffix[i].n) {
if(num < (suffix[i].n/10)) printf("%s", chi_num[0]);
chinese_num(num);
}
}
int main(void)
{
int n;
while(scanf("%d\n", &n) != EOF) {
chinese_num(n);
printf("\n");
}
return 0;
}
我是一個新手 可以問一下大大 suffix 是什麼東西嗎 -口-