已知:yi er san si wu liu qi ba jiu 分别对应123456789,对一段只含有这几种字符的字符串进行转 换,转换成相应的数字
2013-09-08 19:45
826 查看
16.已知:yi er san si wu liu qi ba jiu 分别对应123456789,对一段只含有这几种字符的字符串进行转
换,转换成相应的数字
如:yiersansan:1233
#include <iostream>
#include <string>
using namespace std;
char* sss[9] = {"yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};
int fun(char* str)
{
int i;
int sum = 0;
int d = 0;
i = 0;
int j;
while(str[i] != '\0')
{
if(str[i] == 'y' || str[i] == 'e'|| str[i] == 'w' || str[i] == 'q' || str[i] ==
'b')
d = 2;
else if(str[i] == 'l' || str[i] == 'j')
d = 3;
else if(str[i] == 's')
{
if(str[i+1] == 'a')
d = 3;
else d = 2;
}
for(int k = 0; k < 9; k++)
if(strncmp(str+i,sss[k],d) == 0)
j = k+1;
sum = 10*sum + j;
i = i+d;
}
return sum;
}
int main()
{
char strstr[1000];
memset(strstr,0,sizeof(strstr));
char *s = strstr;
cin >> s;
int outsum;
outsum = fun(s);
cout << outsum << endl;
system("pause");
return 0;
}
换,转换成相应的数字
如:yiersansan:1233
#include <iostream>
#include <string>
using namespace std;
char* sss[9] = {"yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};
int fun(char* str)
{
int i;
int sum = 0;
int d = 0;
i = 0;
int j;
while(str[i] != '\0')
{
if(str[i] == 'y' || str[i] == 'e'|| str[i] == 'w' || str[i] == 'q' || str[i] ==
'b')
d = 2;
else if(str[i] == 'l' || str[i] == 'j')
d = 3;
else if(str[i] == 's')
{
if(str[i+1] == 'a')
d = 3;
else d = 2;
}
for(int k = 0; k < 9; k++)
if(strncmp(str+i,sss[k],d) == 0)
j = k+1;
sum = 10*sum + j;
i = i+d;
}
return sum;
}
int main()
{
char strstr[1000];
memset(strstr,0,sizeof(strstr));
char *s = strstr;
cin >> s;
int outsum;
outsum = fun(s);
cout << outsum << endl;
system("pause");
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语句。
- 练习 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.
- 将一个字串中含有全角的数字字符、字母、空格或'%+-()'字符转换为相应半角字符
- 【C语言】数字字符串转换成这个字符串对应的数字。
- 【c语言】为下面的函数原型编写函数定义,这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
- 把数据库中有关枚举项值的数字字符串转换成文字字符串
- 7.3将字符串中的数字字符转换为数字输出
- 写一个字符串函数,这个字符串参数必须包含一个或者多个数字,函数应该把这些数字字符转换为整数并返回这个整数。
- 用c语言实现 编写一个函数,将一个数字字符串转换成这个字符串对应的数字(包括正浮点数、负浮点数)
- 字符转换成其对应的数字
- 文件名中含有连续字符abc,相应文件中也含有字符串abc
- C语言将十六进制字符串转换成对应的十进制数字