#include<stdio.h>
int main()
{
char a[26];
int i;
for(i=0;i<=25;i++)
scanf("%c",&a[i]); // 输入字符
for(i=0;i<=25;i++)
printf("%5c",a[i]);//输出原字符
for(i=0;i<=25;i++)
if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[i]<='Z'))
a[i]=a[i]+25-2i;//将第i个字母变为第26-i+1个字母
for(i=0;i<=25;i++)
printf("%c",a[i]);//输出改变后的字符串
return 0;
}
a[i]=a[i]+25-2i;//将第i个字母变为第26-i+1个字母
首先,2i这种写法是不可以的,改为a[i] = a[i] + 25-2*i;
其次,这行代码不能实现你注释的目标,你是在数组中找替代品,不是把元素的值进行加减
而且你的注释也是有逻辑问题的,如果i为0,那么第0个要变为第27个?这部越界了么,应该是第26-i-1个吧
a[i] = a[26-i-1];
//
以上回复希望对你有所帮助