思路:首先先把全部加起来,然后在定义一个方法,把所有数字都转成汉语输出出来就可以了。
该算法本人认为比较优,如若有更好的思路,欢迎q我!
代码如下(编译器是dev,语言是C语言):
#include<stdio.h>
#include<stdbool.h>
char temp;
int sum = 0,i;
int ge,shi,bai;
void fangfa(int a){
switch(a){
case 0:{
printf("ling");
break;
}
case 1:{
printf("yi");
break;
}
case 2:{
printf("er");
break;
}
case 3:{
printf("san");
break;
}
case 4:{
printf("si");
break;
}
case 5:{
printf("wu");
break;
}
case 6:{
printf("liu");
break;
}
case 7:{
printf("qi");
break;
}
case 8:{
printf("ba");
break;
}
case 9:{
printf("jiu");
break;
}
}
}
int main(){
while(true){
scanf("%c",&temp);
if(temp == '\n')
break;
sum = sum +temp -48;
}
if(sum<10){
fangfa(sum);
printf("\n");
}else if(sum<100){
ge = sum%10;
shi = (sum/10)%10;
fangfa(shi);
printf(" ");
fangfa(ge);
printf("\n");
}else{
ge = sum%10;
shi = (sum/10)%10;
bai = (sum/100)%10;
fangfa(bai);
printf(" ");
fangfa(shi);
printf(" ");
fangfa(ge);
printf("\n");
}
return 0;
}