这个题做的快吐了 怎么说呢 主要问题是 如何输入一行字符串 有两种方式 第一种是用字符数组 即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

这篇博客讲述了如何解决一个C/C++编程问题,即按照特定规律解密已加密的电文。重点在于字符转换,而非字符串输入方法。博主分享了三种不同的字符串输入方式,并详细解释了字符转换的逻辑,通过计算字符ASCII码的对称性来解密。同时提到了`strlen`函数与`s.size()`在判断字符串长度上的差异,并提醒读者在做题时要分清主次,避免在不重要的细节上浪费时间。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



