这个题做的快吐了 怎么说呢 主要问题是 如何输入一行字符串 有两种方式 第一种是用字符数组 即char x[10] 还有一种就是string类型 但是由于那个sb谭浩强的书上 给出了好多种方法 里面的gets函数现在根本不能用 我一个sb一直纠结于这个问题
其实完全没必要纠结于这个问题 因为这个题的重点是怎么转换字符 而不是怎么输入一段不被空格中断的字符串
总结 第一种可行的就是
string s;
cout << "输入密码:";
getline(cin, s);
这种不会因为空格中断
二
char c = 0;
while ((c = getchar()) != '\n')
{
;
}
这种相对来说字符串的那种感觉就没有那么强了
三
当然 你也可以直接给字符串赋初值 只是这样你每次更换字符串都要改程序 而不是由键盘输入
下面为完整代码
#include<string>
int main()
{
void secret(string s);
string s;
cout << "输入密码:";
getline(cin, s);
//cout << s.size() << endl; 此函数可以用来储存字符串变量的有效字符长度
secret(s);
return 0;
}
// a 65 b 66 y 89 z90
// 比如 b转到y 66-65 =1 即与a的距离 然后用z减去距离 就是y
// 90-(x-65) 155-x
// 122-(x-97) 219-x
void secret(strin