#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
void Translate();
void ImproveTranslate();
void Charge();
int main ()
{
Translate();
ImproveTranslate();
Charge();
}
void Translate()
{
int i, a[10], ind;
long num1, num2;
char eng[10][6] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
num1 = 669844;
num2 = num1;
ind = 0;
while(num2 != 0)
{
a[ind] = num2 % 10;
ind++;
num2 /= 10;
}
cout << num1 << " English_exp: " << eng[a[ind - 1]];
for(int i = ind - 2; i >= 0; i--)
cout << "-" << eng[a[i]];
cout << endl << endl;
}
void ImproveTranslate()
{
char eng[10][6] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
int i = 0, n;
char num[40]= "32467";
n = strlen(num);
if(n == 0)
cout << "input error";
else
{
cout << num << " English_exp: " << eng[num[0] - 48];//根据ASCII码 字符-48就是字符所对应的数字
for(int i = 1; i <= n - 1; i++)
{
cout << "-" << eng[num[i] - 48];
}
}
cout << endl << endl;
}
void Charge()
{
int denomination[7] = {0, 50, 20, 10, 5, 2, 1};
int value = 80, money = 87, t;//商品价值是value 给售货员money
int charge = money - value;//charge代表找钱
int m = charge;
int s[7] = {0};
for(int i = 1; i <= 6; i++)
{
t = charge / denomination[i];
s[i] = t;
charge -= t * denomination[i];
}
cout << money << "-" << value << "=" << m << endl;
for(int i = 1; i <= 6; i++)
{
if(s[i])
cout << denomination[i] << "------" << s[i] << endl;
}
}
[算法设计与分析]3.2.2数组使信息有序化(翻译为英文编号+找零)
最新推荐文章于 2021-10-22 15:45:02 发布