#include<iostream>
#include<algorithm>
using namespace std;
int main(){
string str1,str2,str3;
int val;
char ch;
cin>>val;
while(val--){
cin>>str1;
str2=str1;
reverse(str1.begin(),str1.end());
for(int i=0;i<str1.size();i++){
val=str1[i]-122+26;
val+=str2[i]-122+26;
val=val%26;
ch=val+96;
cout<<ch;
}
}
return 0;
}
每个字符串的第ith个字符都会添加到反向字符串的第ith个字符中。当我尝试输入值时,它会产生无限循环,这意味着while循环没有达到条件。我找不到原因。 任何帮助。
答案 0 :(得分:2)
因为您重复使用了“ val”而没有再次声明。
计算机科学中有两个困难的问题
您是第二代的变体。重用名称,在应该为“ val”的两种用法之一进行更多描述的地方。