1.以下程序是对一个总长不超过十位的小数进行翻译,其翻译结果为英文。
2.其中函数translate(char a[], int begin, int end),是对所输入数的整数部分进行翻译。函数void translate1(char a[], int begin, int end),是对所输入的小数部分进行翻译,void translate2(),是对程序进行保护,防止数据被更改。
3.函数总体来说不难,要点也就是关键字的加入部分,要涉及判断,比如说hundred, thousand, million, billion, point.这些关键字的加入部分需要细心,要考虑全面。另外就是英文里面的five, three,nine, twelve, eleven等数字在变形时形式会发生变化,在程序中要单个的罗列,进行讨论。函数中用到了递归,其实每一次的翻译只翻译一个数字,当要翻译的数字在特殊位置时,进行讨论也就是关键字的引入。最后要注意的是要翻译数字要是后面的部分都为零,比如1001和1000的翻译就不同,本人刚开始写就出现了翻译1000为one thousand hundred,其它的都很简单,只是不停地重复,就不再多说,代码如下: