我想通过添加号码将char
更改为另一个char
。
int n;
cin >> n;
str[i] = str[i]+n;
问题是:我想在循环中完成它。 考试:
n = 4; str [i] = Y; 答案应该是:C; 我怎样才能创建这个循环?
答案 0 :(得分:0)
您可以使用%
str[i] = (str[i] - 'A' + n) % 26 + 'A';
26因为字母表中有26个字母
答案 1 :(得分:0)
您可以将0分配给A 1并分配给B并类似
int a=s[i]-'A'
现在您可以在其中添加n并找到带有26(没有字母)的mod y是24 n = 4然后(24 + 4)%26 = 2因此我们可以看到3是C 代码是
for(int i=0;i<l;i++){
int a=s[i]-'A';
a=(a+n)%n;
s[i]=(char)(a+65);//ascii value
}