#include <stdio.h>
int main()
{
int i,j;
char a[20];
for(i=0;a[i]='\n';i++)
{
scanf("%c",a[i]);
break;
}
for(j=0;j<=i;j++)
{
if(a[j]<='z'&&a[j]>='a'||a[j]<='Z'&&a[j]>='A')
a[j]=a[j]+4;
}
for(j=0;j<=i;j++)
printf("%d",a[j]);
return 0;
}
#include <stdio.h>
int main()
{
int i,j;
char a[20];
for(i=0;;i++)
{
//输入要加&
scanf("%c",&a[i]);
if(a[i]=='\n')break;
}
//最后一个a[i]是换行,所以下标应该是[0,i-1]
i = i-1;
for(j=0;j<=i;j++)
{
//超出字母范围的要从前开始
if(a[j]<='z'&&a[j]>='a')
a[j]='a' + (a[j]-'a'+4)%26;
else if(a[j]<='Z'&&a[j]>='A')
a[j]='A' + (a[j]-'A'+4)%26;
}
for(j=0;j<=i;j++)
//输出字符用%c
printf("%c",a[j]);
return 0;
}
供参考:
#include<stdio.h>
int main()
{
char a[256];
int i = 0;
while ((a[i] = getchar()) && a[i] != '\n')
{
if (a[i] >= 'A' && a[i] <= 'Z')
a[i] = (a[i] - 'A' + 4) % 26 + 'A';
else if (a[i] >= 'a' && a[i] <= 'z')
a[i] = (a[i] - 'a' + 4) % 26 + 'a';
i++;
}
a[i] = '\0';
printf("%s\n", a);
return 0;
}