已知:yi er san si wu liu qi ba jiu 分别对应 123456789,对一段只含 有这几种字符的字符串进行转换,转换成相应的数字
2014-04-12 16:51
417 查看
#include <iostream> #include <string> using namespace std; char* ss[9] = {"yi", "er","san","si", "wu", "liu", "qi", "ba", "jiu"}; int fun(string str) { char *buffer = new char[str.length()]; basic_string<char>::size_type n; n = str._Copy_s(buffer, str.length(), str.length()); buffer = '\0'; int i = 0; int sum = 0; int d,j; while (buffer[i] != '\0') { if (buffer[i] == 'y' || buffer[i] == 'e' || buffer[i] == 'w' || buffer[i] == 'q' || buffer[i] == 'b') d = 2; else if (buffer[i] == 'l' || buffer[i] == 'j') d = 3; else if (buffer[i] == 's') { if (buffer[i + 1]) d = 3; else d = 2; } //用 法: int strncmp(char *str1, char *str2, int maxlen) //说明:此函数功能即比较字符串str1和str2的前maxlen个字符 //如果前maxlen字节完全相等,返回值就 = 0;在前maxlen字节比较过程中 //如果出现str1 与str2 不等,则返回(str1 - str2 ) for (int k = 0; k < 9; k++) if (strncmp(buffer + i, ss[k], d) == 0) j = k + 1; sum = 10 * sum + j; i = i + d; } return sum; }
测试范例:
yiersanwuqijiuba
1235798
int main()
{
string s;
cin >> s;
int outsum = fun(s);
cout << outsum << endl;
return 0;
}
相关文章推荐
- 已知:yi er san si wu liu qi ba jiu 分别对应123456789,对一段只含有这几种字符的字符串进行转 换,转换成相应的数字
- 已知:yi er san si wu liu qi ba jiu 分别对应123456789, 对一段只含有这几种字符串的字符串进行转换
- 华为机试题---已知:yi er san si wu liu qi ba jiu 分别对应123456789
- yi er san si wu liu qi ba jiu 分别对应123456789
- 一段只含有这几种字符串的字符串进行转换yi er san si wu liu qi ba jiu 分别对应123456789
- 练习 3-2 编写一个函数escape(s, t),将字符串t复制到字符串s中,并在复制过程中将换行符、制表符等不可见字符分别转换为\n、\t等相应的可见的转义字符序列。要求使用swich语句。
- 编写一个函数escape(s,t),将字符串t复制到字符串s中,并在复制过程中将换行符、制表符等不可见字符分别转换为\n、\t等相应的可见的转义字符序列。要求使用switch语句。
- 问题1:java中没有实现这种“byte a = 0xB2 --> String b = “B2””转换的简单实现需要自己实现。 答:自己编写的转换函数,思路将byte的高低4位分开,分别转换为对应的字符然后合成返回的字符串。 java 代码 1.
- 练习 3-2 编写一个函数escape(s, t),将字符串t 复制到字符串s 中,并在复制过程中将换行符、制表符等不可见字符分别转换为\n、\t等相应的可见的转义字符序列。要求使用swich语句。
- 编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
- 把数据库对应的数字转换成相应的汉字【数转汉】【单选按钮】
- 将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
- 将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数
- 字符转换成其对应的数字
- mysql中字符和数字在执行sql时进行类型转换
- 将字符串转换成对应的数字(正负浮点数)
- 将数字字符串中字符转换为整数并返回其值
- 输入一个字符串,分别统计出包含的英文字母、数字、空格和其他字符的个数
- 字符串数字转换为整型数字,考虑正负号,溢出,非法字符
- 编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数) 例如:“12.34“ 返回12.34 “-123.34“ 返回-123.34 函数原型:double my_